@askrjs/askr 0.0.28 → 0.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -172
- package/dist/_virtual/_rolldown/runtime.js +7 -0
- package/dist/bench/components/benchmark-row.d.ts +20 -0
- package/dist/bench/components/benchmark-row.d.ts.map +1 -0
- package/dist/bench/components/benchmark-row.js +42 -0
- package/dist/bench/components/benchmark-row.js.map +1 -0
- package/dist/bench/components/benchmark-table.js +25 -0
- package/dist/bench/components/benchmark-table.js.map +1 -0
- package/dist/benchmark.d.ts +22 -0
- package/dist/benchmark.d.ts.map +1 -0
- package/dist/benchmark.js +64 -1
- package/dist/benchmark.js.map +1 -0
- package/dist/bin/askr-ssg.d.ts +22 -26
- package/dist/bin/askr-ssg.d.ts.map +1 -1
- package/dist/bin/askr-ssg.js +149 -2
- package/dist/bin/askr-ssg.js.map +1 -0
- package/dist/boot/index.d.ts +64 -42
- package/dist/boot/index.d.ts.map +1 -1
- package/dist/boot/index.js +416 -2
- package/dist/boot/index.js.map +1 -0
- package/dist/common/component.d.ts +14 -13
- package/dist/common/component.d.ts.map +1 -1
- package/dist/common/control.d.ts +13 -0
- package/dist/common/control.d.ts.map +1 -0
- package/dist/common/control.js +14 -0
- package/dist/common/control.js.map +1 -0
- package/dist/common/env.js +47 -0
- package/dist/common/env.js.map +1 -0
- package/dist/common/jsx.d.ts +17 -15
- package/dist/common/jsx.d.ts.map +1 -1
- package/dist/common/jsx.js +8 -1
- package/dist/common/jsx.js.map +1 -0
- package/dist/common/props.d.ts +14 -11
- package/dist/common/props.d.ts.map +1 -1
- package/dist/common/router.d.ts +190 -32
- package/dist/common/router.d.ts.map +1 -1
- package/dist/common/ssr-errors.d.ts +6 -3
- package/dist/common/ssr-errors.d.ts.map +1 -1
- package/dist/common/ssr-errors.js +16 -1
- package/dist/common/ssr-errors.js.map +1 -0
- package/dist/common/ssr.d.ts +12 -9
- package/dist/common/ssr.d.ts.map +1 -1
- package/dist/common/vnode.d.ts +17 -15
- package/dist/common/vnode.d.ts.map +1 -1
- package/dist/common/vnode.js +10 -1
- package/dist/common/vnode.js.map +1 -0
- package/dist/components/link.d.ts +37 -25
- package/dist/components/link.d.ts.map +1 -1
- package/dist/components/link.js +64 -1
- package/dist/components/link.js.map +1 -0
- package/dist/control/case.d.ts +17 -0
- package/dist/control/case.d.ts.map +1 -0
- package/dist/control/case.js +69 -0
- package/dist/control/case.js.map +1 -0
- package/dist/control/for.d.ts +23 -0
- package/dist/control/for.d.ts.map +1 -0
- package/dist/control/for.js +62 -0
- package/dist/control/for.js.map +1 -0
- package/dist/control/index.d.ts +4 -0
- package/dist/control/index.js +4 -0
- package/dist/control/shared.js +20 -0
- package/dist/control/shared.js.map +1 -0
- package/dist/control/show.d.ts +14 -0
- package/dist/control/show.d.ts.map +1 -0
- package/dist/control/show.js +33 -0
- package/dist/control/show.js.map +1 -0
- package/dist/dev/invariant.js +29 -2
- package/dist/dev/invariant.js.map +1 -0
- package/dist/dev/logger.js +37 -1
- package/dist/dev/logger.js.map +1 -0
- package/dist/foundations/icon/icon.d.ts +53 -0
- package/dist/foundations/icon/icon.d.ts.map +1 -0
- package/dist/foundations/icon/icon.js +88 -0
- package/dist/foundations/icon/icon.js.map +1 -0
- package/dist/foundations/icon/icon.types.d.ts +21 -0
- package/dist/foundations/icon/icon.types.d.ts.map +1 -0
- package/dist/foundations/index.d.ts +10 -3
- package/dist/foundations/index.js +9 -1
- package/dist/foundations/interactions/interaction-policy.js +93 -1
- package/dist/foundations/interactions/interaction-policy.js.map +1 -0
- package/dist/foundations/interactions/pressable.js +51 -1
- package/dist/foundations/interactions/pressable.js.map +1 -0
- package/dist/foundations/structures/collection.d.ts +25 -40
- package/dist/foundations/structures/collection.d.ts.map +1 -1
- package/dist/foundations/structures/collection.js +51 -1
- package/dist/foundations/structures/collection.js.map +1 -0
- package/dist/foundations/structures/layer.d.ts +47 -68
- package/dist/foundations/structures/layer.d.ts.map +1 -1
- package/dist/foundations/structures/layer.js +81 -1
- package/dist/foundations/structures/layer.js.map +1 -0
- package/dist/foundations/structures/layout.d.ts +6 -3
- package/dist/foundations/structures/layout.d.ts.map +1 -1
- package/dist/foundations/structures/layout.js +13 -1
- package/dist/foundations/structures/layout.js.map +1 -0
- package/dist/foundations/structures/portal.d.ts +17 -10
- package/dist/foundations/structures/portal.d.ts.map +1 -1
- package/dist/foundations/structures/portal.js +105 -1
- package/dist/foundations/structures/portal.js.map +1 -0
- package/dist/foundations/structures/presence.d.ts +11 -5
- package/dist/foundations/structures/presence.d.ts.map +1 -1
- package/dist/foundations/structures/presence.js +39 -1
- package/dist/foundations/structures/presence.js.map +1 -0
- package/dist/foundations/structures/slot.d.ts +11 -8
- package/dist/foundations/structures/slot.d.ts.map +1 -1
- package/dist/foundations/structures/slot.js +41 -1
- package/dist/foundations/structures/slot.js.map +1 -0
- package/dist/foundations/structures.d.ts +7 -14
- package/dist/foundations/structures.js +6 -1
- package/dist/foundations/utilities/aria.js +11 -1
- package/dist/foundations/utilities/aria.js.map +1 -0
- package/dist/foundations/utilities/compose-handlers.js +20 -1
- package/dist/foundations/utilities/compose-handlers.js.map +1 -0
- package/dist/foundations/utilities/compose-ref.d.ts +7 -4
- package/dist/foundations/utilities/compose-ref.d.ts.map +1 -1
- package/dist/foundations/utilities/compose-ref.js +18 -1
- package/dist/foundations/utilities/compose-ref.js.map +1 -0
- package/dist/foundations/utilities/merge-props.js +49 -1
- package/dist/foundations/utilities/merge-props.js.map +1 -0
- package/dist/fx/fx.d.ts +24 -21
- package/dist/fx/fx.d.ts.map +1 -1
- package/dist/fx/fx.js +212 -1
- package/dist/fx/fx.js.map +1 -0
- package/dist/fx/index.d.ts +4 -7
- package/dist/fx/index.js +4 -1
- package/dist/fx/noop.js +9 -1
- package/dist/fx/noop.js.map +1 -0
- package/dist/fx/timing.d.ts +24 -21
- package/dist/fx/timing.d.ts.map +1 -1
- package/dist/fx/timing.js +236 -1
- package/dist/fx/timing.js.map +1 -0
- package/dist/index.d.ts +21 -23
- package/dist/index.js +34 -1
- package/dist/index.js.map +1 -0
- package/dist/jsx/index.d.ts +1 -4
- package/dist/jsx/index.js +3 -1
- package/dist/jsx/types.d.ts +18 -25
- package/dist/jsx/types.d.ts.map +1 -1
- package/dist/jsx/types.js +1 -1
- package/dist/jsx/utils.d.ts +4 -3
- package/dist/jsx/utils.d.ts.map +1 -1
- package/dist/jsx/utils.js +19 -1
- package/dist/jsx/utils.js.map +1 -0
- package/dist/jsx-dev-runtime.d.ts +8 -0
- package/dist/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx-dev-runtime.js +32 -1
- package/dist/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx-runtime.d.ts +12 -0
- package/dist/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx-runtime.js +45 -1
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/jsx-runtime2.d.ts +2 -0
- package/dist/jsx-runtime2.js +3 -0
- package/dist/renderer/children.js +293 -0
- package/dist/renderer/children.js.map +1 -0
- package/dist/renderer/cleanup.js +150 -1
- package/dist/renderer/cleanup.js.map +1 -0
- package/dist/renderer/dom.js +2439 -1
- package/dist/renderer/dom.js.map +1 -0
- package/dist/renderer/env.js +1 -0
- package/dist/renderer/evaluate.js +450 -1
- package/dist/renderer/evaluate.js.map +1 -0
- package/dist/renderer/fastpath.js +145 -1
- package/dist/renderer/fastpath.js.map +1 -0
- package/dist/renderer/index.js +24 -1
- package/dist/renderer/index.js.map +1 -0
- package/dist/renderer/keyed.js +119 -1
- package/dist/renderer/keyed.js.map +1 -0
- package/dist/renderer/reconcile.js +359 -1
- package/dist/renderer/reconcile.js.map +1 -0
- package/dist/renderer/types.js +1 -1
- package/dist/renderer/utils.js +220 -1
- package/dist/renderer/utils.js.map +1 -0
- package/dist/resources/index.d.ts +3 -9
- package/dist/resources/index.js +3 -1
- package/dist/router/index.d.ts +6 -10
- package/dist/router/index.js +5 -1
- package/dist/router/match.js +83 -1
- package/dist/router/match.js.map +1 -0
- package/dist/router/navigate.d.ts +20 -8
- package/dist/router/navigate.d.ts.map +1 -1
- package/dist/router/navigate.js +288 -1
- package/dist/router/navigate.js.map +1 -0
- package/dist/router/policy.d.ts +22 -0
- package/dist/router/policy.d.ts.map +1 -0
- package/dist/router/policy.js +116 -0
- package/dist/router/policy.js.map +1 -0
- package/dist/router/route-context.js +79 -0
- package/dist/router/route-context.js.map +1 -0
- package/dist/router/route.d.ts +101 -34
- package/dist/router/route.d.ts.map +1 -1
- package/dist/router/route.js +599 -1
- package/dist/router/route.js.map +1 -0
- package/dist/runtime/child-scope.d.ts +21 -0
- package/dist/runtime/child-scope.d.ts.map +1 -0
- package/dist/runtime/child-scope.js +77 -0
- package/dist/runtime/child-scope.js.map +1 -0
- package/dist/runtime/component.d.ts +67 -56
- package/dist/runtime/component.d.ts.map +1 -1
- package/dist/runtime/component.js +462 -1
- package/dist/runtime/component.js.map +1 -0
- package/dist/runtime/context.d.ts +28 -42
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/context.js +205 -1
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/control.d.ts +43 -0
- package/dist/runtime/control.d.ts.map +1 -0
- package/dist/runtime/control.js +125 -0
- package/dist/runtime/control.js.map +1 -0
- package/dist/runtime/derive.d.ts +12 -9
- package/dist/runtime/derive.d.ts.map +1 -1
- package/dist/runtime/derive.js +134 -1
- package/dist/runtime/derive.js.map +1 -0
- package/dist/runtime/dev-namespace.js +57 -1
- package/dist/runtime/dev-namespace.js.map +1 -0
- package/dist/runtime/effect.d.ts +32 -0
- package/dist/runtime/effect.d.ts.map +1 -0
- package/dist/runtime/effect.js +146 -0
- package/dist/runtime/effect.js.map +1 -0
- package/dist/runtime/events.js +162 -1
- package/dist/runtime/events.js.map +1 -0
- package/dist/runtime/execution-model.js +15 -1
- package/dist/runtime/execution-model.js.map +1 -0
- package/dist/runtime/fastlane.js +204 -1
- package/dist/runtime/fastlane.js.map +1 -0
- package/dist/runtime/for-bench.d.ts +41 -0
- package/dist/runtime/for-bench.d.ts.map +1 -0
- package/dist/runtime/for-bench.js +173 -0
- package/dist/runtime/for-bench.js.map +1 -0
- package/dist/runtime/for.d.ts +62 -49
- package/dist/runtime/for.d.ts.map +1 -1
- package/dist/runtime/for.js +668 -1
- package/dist/runtime/for.js.map +1 -0
- package/dist/runtime/operations.d.ts +18 -15
- package/dist/runtime/operations.d.ts.map +1 -1
- package/dist/runtime/operations.js +209 -1
- package/dist/runtime/operations.js.map +1 -0
- package/dist/runtime/perf-metrics.js +64 -1
- package/dist/runtime/perf-metrics.js.map +1 -0
- package/dist/runtime/readable.d.ts +24 -18
- package/dist/runtime/readable.d.ts.map +1 -1
- package/dist/runtime/readable.js +118 -1
- package/dist/runtime/readable.js.map +1 -0
- package/dist/runtime/resource-cell.js +102 -1
- package/dist/runtime/resource-cell.js.map +1 -0
- package/dist/runtime/scheduler.d.ts +51 -50
- package/dist/runtime/scheduler.d.ts.map +1 -1
- package/dist/runtime/scheduler.js +328 -1
- package/dist/runtime/scheduler.js.map +1 -0
- package/dist/runtime/selector.d.ts +7 -5
- package/dist/runtime/selector.d.ts.map +1 -1
- package/dist/runtime/selector.js +188 -1
- package/dist/runtime/selector.js.map +1 -0
- package/dist/runtime/ssr-bridge.js +24 -1
- package/dist/runtime/ssr-bridge.js.map +1 -0
- package/dist/runtime/state.d.ts +11 -19
- package/dist/runtime/state.d.ts.map +1 -1
- package/dist/runtime/state.js +99 -1
- package/dist/runtime/state.js.map +1 -0
- package/dist/ssg/batch-render.d.ts +10 -10
- package/dist/ssg/batch-render.d.ts.map +1 -1
- package/dist/ssg/batch-render.js +84 -1
- package/dist/ssg/batch-render.js.map +1 -0
- package/dist/ssg/create-static-gen.d.ts +28 -29
- package/dist/ssg/create-static-gen.d.ts.map +1 -1
- package/dist/ssg/create-static-gen.js +282 -1
- package/dist/ssg/create-static-gen.js.map +1 -0
- package/dist/ssg/generate-metadata.d.ts +12 -15
- package/dist/ssg/generate-metadata.d.ts.map +1 -1
- package/dist/ssg/generate-metadata.js +94 -1
- package/dist/ssg/generate-metadata.js.map +1 -0
- package/dist/ssg/incremental-manifest.js +56 -1
- package/dist/ssg/incremental-manifest.js.map +1 -0
- package/dist/ssg/index.d.ts +8 -28
- package/dist/ssg/index.js +7 -1
- package/dist/ssg/resolve-ssg-data.d.ts +10 -13
- package/dist/ssg/resolve-ssg-data.d.ts.map +1 -1
- package/dist/ssg/resolve-ssg-data.js +46 -1
- package/dist/ssg/resolve-ssg-data.js.map +1 -0
- package/dist/ssg/route-utils.d.ts +14 -10
- package/dist/ssg/route-utils.d.ts.map +1 -1
- package/dist/ssg/route-utils.js +24 -1
- package/dist/ssg/route-utils.js.map +1 -0
- package/dist/ssg/types.d.ts +157 -144
- package/dist/ssg/types.d.ts.map +1 -1
- package/dist/ssg/write-static-files.d.ts +8 -14
- package/dist/ssg/write-static-files.d.ts.map +1 -1
- package/dist/ssg/write-static-files.js +73 -1
- package/dist/ssg/write-static-files.js.map +1 -0
- package/dist/ssr/attrs.js +93 -1
- package/dist/ssr/attrs.js.map +1 -0
- package/dist/ssr/context.d.ts +31 -35
- package/dist/ssr/context.d.ts.map +1 -1
- package/dist/ssr/context.js +63 -1
- package/dist/ssr/context.js.map +1 -0
- package/dist/ssr/errors.d.ts +6 -4
- package/dist/ssr/errors.d.ts.map +1 -1
- package/dist/ssr/errors.js +4 -1
- package/dist/ssr/errors.js.map +1 -0
- package/dist/ssr/escape.js +153 -1
- package/dist/ssr/escape.js.map +1 -0
- package/dist/ssr/index.d.ts +74 -72
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/ssr/index.js +543 -1
- package/dist/ssr/index.js.map +1 -0
- package/dist/ssr/render-keys.d.ts +27 -29
- package/dist/ssr/render-keys.d.ts.map +1 -1
- package/dist/ssr/render-keys.js +39 -1
- package/dist/ssr/render-keys.js.map +1 -0
- package/dist/ssr/sink.js +86 -1
- package/dist/ssr/sink.js.map +1 -0
- package/dist/ssr/stream-render.js +76 -1
- package/dist/ssr/stream-render.js.map +1 -0
- package/dist/ssr/types.d.ts +14 -13
- package/dist/ssr/types.d.ts.map +1 -1
- package/package.json +49 -69
- package/dist/_virtual/___vite-browser-external.js +0 -1
- package/dist/_virtual/__vite-browser-external.js +0 -1
- package/dist/_virtual/_commonjsHelpers.js +0 -1
- package/dist/_virtual/_fs.js +0 -1
- package/dist/_virtual/_path.js +0 -1
- package/dist/_virtual/main.js +0 -1
- package/dist/_virtual/preload-helper.js +0 -1
- package/dist/bench/benchmark-entry.d.ts +0 -14
- package/dist/bench/benchmark-entry.d.ts.map +0 -1
- package/dist/common/errors.d.ts +0 -53
- package/dist/common/errors.d.ts.map +0 -1
- package/dist/common/index.d.ts +0 -14
- package/dist/common/index.d.ts.map +0 -1
- package/dist/dev/invariant.d.ts +0 -83
- package/dist/dev/invariant.d.ts.map +0 -1
- package/dist/dev/logger.d.ts +0 -13
- package/dist/dev/logger.d.ts.map +0 -1
- package/dist/dev/vite-plugin-askr.d.ts +0 -25
- package/dist/dev/vite-plugin-askr.d.ts.map +0 -1
- package/dist/dev/warnings.d.ts +0 -5
- package/dist/dev/warnings.d.ts.map +0 -1
- package/dist/for/for.d.ts +0 -16
- package/dist/for/for.d.ts.map +0 -1
- package/dist/for/for.js +0 -1
- package/dist/for/index.d.ts +0 -2
- package/dist/for/index.d.ts.map +0 -1
- package/dist/for/index.js +0 -1
- package/dist/foundations/core.d.ts +0 -23
- package/dist/foundations/core.d.ts.map +0 -1
- package/dist/foundations/core.js +0 -1
- package/dist/foundations/index.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.d.ts +0 -58
- package/dist/foundations/interactions/dismissable.d.ts.map +0 -1
- package/dist/foundations/interactions/dismissable.js +0 -1
- package/dist/foundations/interactions/focusable.d.ts +0 -16
- package/dist/foundations/interactions/focusable.d.ts.map +0 -1
- package/dist/foundations/interactions/focusable.js +0 -1
- package/dist/foundations/interactions/hoverable.d.ts +0 -19
- package/dist/foundations/interactions/hoverable.d.ts.map +0 -1
- package/dist/foundations/interactions/hoverable.js +0 -1
- package/dist/foundations/interactions/index.d.ts +0 -5
- package/dist/foundations/interactions/index.d.ts.map +0 -1
- package/dist/foundations/interactions/interaction-policy.d.ts +0 -96
- package/dist/foundations/interactions/interaction-policy.d.ts.map +0 -1
- package/dist/foundations/interactions/pressable.d.ts +0 -54
- package/dist/foundations/interactions/pressable.d.ts.map +0 -1
- package/dist/foundations/interactions/roving-focus.d.ts +0 -117
- package/dist/foundations/interactions/roving-focus.d.ts.map +0 -1
- package/dist/foundations/interactions/roving-focus.js +0 -1
- package/dist/foundations/state/controllable.d.ts +0 -53
- package/dist/foundations/state/controllable.d.ts.map +0 -1
- package/dist/foundations/state/controllable.js +0 -1
- package/dist/foundations/state/index.d.ts +0 -2
- package/dist/foundations/state/index.d.ts.map +0 -1
- package/dist/foundations/structures/index.d.ts +0 -5
- package/dist/foundations/structures/index.d.ts.map +0 -1
- package/dist/foundations/structures.d.ts.map +0 -1
- package/dist/foundations/utilities/aria.d.ts +0 -13
- package/dist/foundations/utilities/aria.d.ts.map +0 -1
- package/dist/foundations/utilities/compose-handlers.d.ts +0 -34
- package/dist/foundations/utilities/compose-handlers.d.ts.map +0 -1
- package/dist/foundations/utilities/event-types.d.ts +0 -17
- package/dist/foundations/utilities/event-types.d.ts.map +0 -1
- package/dist/foundations/utilities/index.d.ts +0 -7
- package/dist/foundations/utilities/index.d.ts.map +0 -1
- package/dist/foundations/utilities/merge-props.d.ts +0 -2
- package/dist/foundations/utilities/merge-props.d.ts.map +0 -1
- package/dist/foundations/utilities/use-id.d.ts +0 -29
- package/dist/foundations/utilities/use-id.d.ts.map +0 -1
- package/dist/foundations/utilities/use-id.js +0 -1
- package/dist/fx/index.d.ts.map +0 -1
- package/dist/fx/noop.d.ts +0 -12
- package/dist/fx/noop.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/jsx/index.d.ts.map +0 -1
- package/dist/jsx/jsx-dev-runtime.d.ts +0 -4
- package/dist/jsx/jsx-dev-runtime.d.ts.map +0 -1
- package/dist/jsx/jsx-runtime.d.ts +0 -10
- package/dist/jsx/jsx-runtime.d.ts.map +0 -1
- package/dist/node_modules/esbuild/lib/main.js +0 -65
- package/dist/renderer/cleanup.d.ts +0 -28
- package/dist/renderer/cleanup.d.ts.map +0 -1
- package/dist/renderer/dom.d.ts +0 -64
- package/dist/renderer/dom.d.ts.map +0 -1
- package/dist/renderer/evaluate.d.ts +0 -4
- package/dist/renderer/evaluate.d.ts.map +0 -1
- package/dist/renderer/fastpath.d.ts +0 -7
- package/dist/renderer/fastpath.d.ts.map +0 -1
- package/dist/renderer/index.d.ts +0 -6
- package/dist/renderer/index.d.ts.map +0 -1
- package/dist/renderer/keyed.d.ts +0 -23
- package/dist/renderer/keyed.d.ts.map +0 -1
- package/dist/renderer/reconcile.d.ts +0 -88
- package/dist/renderer/reconcile.d.ts.map +0 -1
- package/dist/renderer/types.d.ts +0 -3
- package/dist/renderer/types.d.ts.map +0 -1
- package/dist/renderer/utils.d.ts +0 -63
- package/dist/renderer/utils.d.ts.map +0 -1
- package/dist/resources/index.d.ts.map +0 -1
- package/dist/router/index.d.ts.map +0 -1
- package/dist/router/match.d.ts +0 -22
- package/dist/router/match.d.ts.map +0 -1
- package/dist/runtime/dev-namespace.d.ts +0 -31
- package/dist/runtime/dev-namespace.d.ts.map +0 -1
- package/dist/runtime/events.d.ts +0 -53
- package/dist/runtime/events.d.ts.map +0 -1
- package/dist/runtime/execution-model.d.ts +0 -4
- package/dist/runtime/execution-model.d.ts.map +0 -1
- package/dist/runtime/fastlane.d.ts +0 -27
- package/dist/runtime/fastlane.d.ts.map +0 -1
- package/dist/runtime/hydration.d.ts +0 -25
- package/dist/runtime/hydration.d.ts.map +0 -1
- package/dist/runtime/perf-metrics.d.ts +0 -25
- package/dist/runtime/perf-metrics.d.ts.map +0 -1
- package/dist/runtime/resource-cell.d.ts +0 -35
- package/dist/runtime/resource-cell.d.ts.map +0 -1
- package/dist/runtime/snapshot.d.ts +0 -25
- package/dist/runtime/snapshot.d.ts.map +0 -1
- package/dist/runtime/ssr-bridge.d.ts +0 -10
- package/dist/runtime/ssr-bridge.d.ts.map +0 -1
- package/dist/ssg/discover-resources.d.ts +0 -15
- package/dist/ssg/discover-resources.d.ts.map +0 -1
- package/dist/ssg/incremental-manifest.d.ts +0 -23
- package/dist/ssg/incremental-manifest.d.ts.map +0 -1
- package/dist/ssg/index.d.ts.map +0 -1
- package/dist/ssr/attrs.d.ts +0 -26
- package/dist/ssr/attrs.d.ts.map +0 -1
- package/dist/ssr/create-ssr.d.ts +0 -19
- package/dist/ssr/create-ssr.d.ts.map +0 -1
- package/dist/ssr/escape.d.ts +0 -38
- package/dist/ssr/escape.d.ts.map +0 -1
- package/dist/ssr/sink.d.ts +0 -23
- package/dist/ssr/sink.d.ts.map +0 -1
- package/dist/ssr/stream-render.d.ts +0 -7
- package/dist/ssr/stream-render.d.ts.map +0 -1
- package/dist/vite/index.js +0 -4
package/README.md
CHANGED
|
@@ -1,223 +1,95 @@
|
|
|
1
1
|
# Askr
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Askr is an actor-backed UI runtime for TypeScript applications.
|
|
4
|
+
It provides explicit reactivity, routed application startup, server-side rendering,
|
|
5
|
+
and static-site generation entrypoints.
|
|
4
6
|
|
|
5
7
|
## Quick Start
|
|
6
8
|
|
|
7
|
-
```
|
|
9
|
+
```ts
|
|
8
10
|
import { createIsland, state } from '@askrjs/askr';
|
|
9
11
|
|
|
10
12
|
function Counter() {
|
|
11
13
|
const [count, setCount] = state(0);
|
|
12
|
-
|
|
14
|
+
|
|
15
|
+
return <button onClick={() => setCount((value) => value + 1)}>{count()}</button>;
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
createIsland({ root: document.body, component: Counter });
|
|
16
19
|
```
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
## What It Provides
|
|
19
22
|
|
|
20
|
-
|
|
23
|
+
### Runtime
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
`@askrjs/askr` exports the core runtime primitives: `state()`, `derive()`,
|
|
26
|
+
`selector()`, `resource()`, routing helpers, JSX control-flow helpers, and SSR/SSG
|
|
27
|
+
entrypoints.
|
|
23
28
|
|
|
24
|
-
|
|
29
|
+
### Explicit reactivity
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
// This error is caught immediately:
|
|
28
|
-
if (condition) {
|
|
29
|
-
const [x, setX] = state(0); // ❌ Hook order violation
|
|
30
|
-
}
|
|
31
|
+
State is read through getter functions and updated through setter functions.
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
const [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
33
|
+
```ts
|
|
34
|
+
const [count, setCount] = state(0);
|
|
35
|
+
console.log(count());
|
|
36
|
+
setCount(1);
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
###
|
|
39
|
+
### Routing and app startup
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
Startup belongs in `@askrjs/askr/boot`. Routing helpers live in
|
|
42
|
+
`@askrjs/askr/router`.
|
|
42
43
|
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// No race conditions
|
|
47
|
-
```
|
|
44
|
+
```ts
|
|
45
|
+
import { createIsland, createSPA } from '@askrjs/askr/boot';
|
|
46
|
+
import { getRoutes, route } from '@askrjs/askr/router';
|
|
48
47
|
|
|
49
|
-
|
|
48
|
+
route('/', () => <Home />);
|
|
49
|
+
route('/about', () => <About />);
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
createSPA({
|
|
52
|
+
root: document.body,
|
|
53
|
+
routes: getRoutes(),
|
|
54
|
+
});
|
|
55
|
+
```
|
|
54
56
|
|
|
55
|
-
###
|
|
57
|
+
### Async resources
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
`resource()` manages async work with cancellation support.
|
|
58
60
|
|
|
59
|
-
```
|
|
61
|
+
```ts
|
|
60
62
|
import { resource } from '@askrjs/askr/resources';
|
|
61
63
|
|
|
62
|
-
function Data({ id }) {
|
|
64
|
+
function Data({ id }: { id: string }) {
|
|
63
65
|
const data = resource(async ({ signal }) => {
|
|
64
|
-
const
|
|
65
|
-
return
|
|
66
|
+
const response = await fetch(`/api/${id}`, { signal });
|
|
67
|
+
return response.json();
|
|
66
68
|
}, [id]);
|
|
67
69
|
|
|
68
|
-
if (data.pending
|
|
70
|
+
if (data.pending) return <div>Loading...</div>;
|
|
69
71
|
if (data.error) return <div>Failed to load</div>;
|
|
70
72
|
return <div>{data.value.name}</div>;
|
|
71
73
|
}
|
|
72
|
-
// Async work is cancelled automatically on unmount/navigation
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Explicit Reactivity
|
|
76
|
-
|
|
77
|
-
Getters and setters are functions. Call the getter to read and the setter to update — this makes reactivity explicit in your code.
|
|
78
|
-
|
|
79
|
-
```typescript
|
|
80
|
-
const [count, setCount] = state(0);
|
|
81
|
-
console.log(count()); // getter: read
|
|
82
|
-
setCount(1); // setter: write
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Clear data flow. No hidden subscriptions.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## API
|
|
90
|
-
|
|
91
|
-
### State
|
|
92
|
-
|
|
93
|
-
```typescript
|
|
94
|
-
const [value, setValue] = state(initialValue);
|
|
95
|
-
|
|
96
|
-
// Read
|
|
97
|
-
value();
|
|
98
|
-
|
|
99
|
-
// Write
|
|
100
|
-
setValue(newValue);
|
|
101
|
-
|
|
102
|
-
// Update
|
|
103
|
-
setValue((prev) => prev + 1);
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### Derived State
|
|
107
|
-
|
|
108
|
-
```typescript
|
|
109
|
-
function Counter() {
|
|
110
|
-
const [count, setCount] = state(0);
|
|
111
|
-
const doubled = derive(() => count() * 2);
|
|
112
|
-
|
|
113
|
-
return (
|
|
114
|
-
<button onClick={() => setCount((prev) => prev + 1)}>
|
|
115
|
-
{count()} -> {doubled()}
|
|
116
|
-
</button>
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
`derive()` now returns a getter. Migrate `const doubled = derive(...); {doubled}` to `const doubled = derive(...); {doubled()}`.
|
|
122
|
-
|
|
123
|
-
### Keyed Selectors
|
|
124
|
-
|
|
125
|
-
```typescript
|
|
126
|
-
function Table({ rows }) {
|
|
127
|
-
const [selectedId, setSelectedId] = state<number | null>(null);
|
|
128
|
-
const isSelected = selector(selectedId);
|
|
129
|
-
|
|
130
|
-
return For(
|
|
131
|
-
() => rows(),
|
|
132
|
-
(row) => row.id,
|
|
133
|
-
(row) => (
|
|
134
|
-
<tr class={() => (isSelected(row.id) ? 'danger' : '')}>
|
|
135
|
-
<td>
|
|
136
|
-
<a onClick={() => setSelectedId(row.id)}>{row.id}</a>
|
|
137
|
-
</td>
|
|
138
|
-
</tr>
|
|
139
|
-
)
|
|
140
|
-
);
|
|
141
|
-
}
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
Use `selector()` for row selection, active-route checks, and similar keyed fanout hotspots. Create it once in the owner component and reuse the keyed predicate across rows.
|
|
145
|
-
|
|
146
|
-
### Lists
|
|
147
|
-
|
|
148
|
-
```typescript
|
|
149
|
-
const [items, setItems] = state([...]);
|
|
150
|
-
|
|
151
|
-
For(
|
|
152
|
-
items,
|
|
153
|
-
(item) => item.id,
|
|
154
|
-
(item) => <Item {...item} />
|
|
155
|
-
)
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Apps
|
|
159
|
-
|
|
160
|
-
```typescript
|
|
161
|
-
// Single component
|
|
162
|
-
createIsland({
|
|
163
|
-
root: document.body,
|
|
164
|
-
component: MyComponent,
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
// Routed app
|
|
168
|
-
route('/', () => <Home />);
|
|
169
|
-
route('/about', () => <About />);
|
|
170
|
-
|
|
171
|
-
createSPA({
|
|
172
|
-
root: document.body,
|
|
173
|
-
routes: getRoutes(),
|
|
174
|
-
});
|
|
175
74
|
```
|
|
176
75
|
|
|
177
|
-
---
|
|
178
|
-
|
|
179
76
|
## Documentation
|
|
180
77
|
|
|
181
78
|
- [Documentation Index](docs/index.md)
|
|
182
|
-
- [
|
|
79
|
+
- [Installation](docs/getting-started/installation.md)
|
|
183
80
|
- [Quick Start](docs/getting-started/quick-start.md)
|
|
184
|
-
- [State
|
|
81
|
+
- [State Guide](docs/guides/state.md)
|
|
185
82
|
- [Router Guide](docs/guides/router.md)
|
|
186
83
|
- [Resources Guide](docs/guides/resources.md)
|
|
187
|
-
- [SSG Guide
|
|
84
|
+
- [SSG Guide](docs/guides/ssg.md)
|
|
188
85
|
- [Runtime Enforcement](docs/concepts/runtime-enforcement.md)
|
|
189
|
-
- [
|
|
86
|
+
- [Determinism](docs/concepts/determinism.md)
|
|
190
87
|
- [API Reference](docs/reference/api.md)
|
|
191
88
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
## Guarantees
|
|
195
|
-
|
|
196
|
-
Askr provides provable guarantees, tested with 524 tests:
|
|
197
|
-
|
|
198
|
-
- Hook order enforcement (12 tests)
|
|
199
|
-
- Event serialization (12 tests)
|
|
200
|
-
- Atomic transactions (30 tests)
|
|
201
|
-
- Keyed reconciliation (12 tests)
|
|
202
|
-
- Memory safety (8 tests)
|
|
203
|
-
|
|
204
|
-
[See test suite →](tests/README.md)
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## Migration
|
|
209
|
-
|
|
210
|
-
### Coming from React
|
|
211
|
-
|
|
212
|
-
| React | Askr |
|
|
213
|
-
| ------------------------------- | ---------------------------- |
|
|
214
|
-
| `const [x, setX] = useState(0)` | `const [x, setX] = state(0)` |
|
|
215
|
-
| `x` | `x()` |
|
|
216
|
-
| `setX(1)` | `setX(1)` |
|
|
217
|
-
|
|
218
|
-
The main difference: values are functions that you call to read.
|
|
89
|
+
## Release Notes
|
|
219
90
|
|
|
220
|
-
|
|
91
|
+
The published package is versioned with the repository `package.json`.
|
|
92
|
+
Release workflows validate the version tag before publishing.
|
|
221
93
|
|
|
222
94
|
## Install
|
|
223
95
|
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
|
|
3
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
4
|
+
throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
5
|
+
});
|
|
6
|
+
//#endregion
|
|
7
|
+
export { __require };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/bench/components/benchmark-row.d.ts
|
|
2
|
+
interface BenchmarkRowData {
|
|
3
|
+
id: number;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
interface BenchmarkRowProps {
|
|
7
|
+
item: BenchmarkRowData;
|
|
8
|
+
isSelected: (id: number) => boolean;
|
|
9
|
+
onSelect: (id: number) => void;
|
|
10
|
+
onRemove: (id: number) => void;
|
|
11
|
+
}
|
|
12
|
+
declare function BenchmarkRow({
|
|
13
|
+
item,
|
|
14
|
+
isSelected,
|
|
15
|
+
onSelect,
|
|
16
|
+
onRemove
|
|
17
|
+
}: BenchmarkRowProps): JSX.Element;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { BenchmarkRowData };
|
|
20
|
+
//# sourceMappingURL=benchmark-row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark-row.d.ts","names":[],"sources":["../../../src/bench/components/benchmark-row.tsx"],"mappings":";UAAiB,gBAAA;EACf,EAAA;EACA,KAAA;AAAA;AAAA,UAGQ,iBAAA;EACR,IAAA,EAAM,gBAAA;EACN,UAAA,GAAa,EAAA;EACb,QAAA,GAAW,EAAA;EACX,QAAA,GAAW,EAAA;AAAA;AAAA,iBAGG,YAAA,CAAA;EACd,IAAA;EACA,UAAA;EACA,QAAA;EACA;AAAA,GACC,iBAAA,GAAiB,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx, jsxs } from "../../jsx-runtime.js";
|
|
2
|
+
import "../../jsx-runtime2.js";
|
|
3
|
+
//#region src/bench/components/benchmark-row.tsx
|
|
4
|
+
function BenchmarkRow({ item, isSelected, onSelect, onRemove }) {
|
|
5
|
+
return /* @__PURE__ */ jsxs("tr", {
|
|
6
|
+
class: () => isSelected(item.id) ? "danger" : "",
|
|
7
|
+
children: [
|
|
8
|
+
/* @__PURE__ */ jsx("td", {
|
|
9
|
+
class: "col-md-1",
|
|
10
|
+
children: () => item.id
|
|
11
|
+
}, "id"),
|
|
12
|
+
/* @__PURE__ */ jsx("td", {
|
|
13
|
+
class: "col-md-4",
|
|
14
|
+
children: /* @__PURE__ */ jsx("a", {
|
|
15
|
+
onClick: (event) => {
|
|
16
|
+
event.preventDefault();
|
|
17
|
+
onSelect(item.id);
|
|
18
|
+
},
|
|
19
|
+
children: () => item.label
|
|
20
|
+
})
|
|
21
|
+
}, "label"),
|
|
22
|
+
/* @__PURE__ */ jsx("td", {
|
|
23
|
+
class: "col-md-1",
|
|
24
|
+
children: /* @__PURE__ */ jsx("a", {
|
|
25
|
+
onClick: (event) => {
|
|
26
|
+
event.preventDefault();
|
|
27
|
+
onRemove(item.id);
|
|
28
|
+
},
|
|
29
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
30
|
+
class: "glyphicon glyphicon-remove",
|
|
31
|
+
"aria-hidden": "true"
|
|
32
|
+
})
|
|
33
|
+
})
|
|
34
|
+
}, "remove"),
|
|
35
|
+
/* @__PURE__ */ jsx("td", { class: "col-md-6" }, "spacer")
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { BenchmarkRow };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=benchmark-row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark-row.js","names":[],"sources":["../../../src/bench/components/benchmark-row.tsx"],"sourcesContent":["export interface BenchmarkRowData {\n id: number;\n label: string;\n}\n\ninterface BenchmarkRowProps {\n item: BenchmarkRowData;\n isSelected: (id: number) => boolean;\n onSelect: (id: number) => void;\n onRemove: (id: number) => void;\n}\n\nexport function BenchmarkRow({\n item,\n isSelected,\n onSelect,\n onRemove,\n}: BenchmarkRowProps) {\n return (\n <tr class={() => (isSelected(item.id) ? 'danger' : '')}>\n <td key=\"id\" class=\"col-md-1\">\n {() => item.id}\n </td>\n <td key=\"label\" class=\"col-md-4\">\n <a\n onClick={(event: MouseEvent) => {\n event.preventDefault();\n onSelect(item.id);\n }}\n >\n {() => item.label}\n </a>\n </td>\n <td key=\"remove\" class=\"col-md-1\">\n <a\n onClick={(event: MouseEvent) => {\n event.preventDefault();\n onRemove(item.id);\n }}\n >\n <span class=\"glyphicon glyphicon-remove\" aria-hidden=\"true\" />\n </a>\n </td>\n <td key=\"spacer\" class=\"col-md-6\" />\n </tr>\n );\n}\n"],"mappings":";;;AAYA,SAAgB,aAAa,EAC3B,MACA,YACA,UACA,YACoB;AACpB,QACE,qBAAC,MAAD;EAAI,aAAc,WAAW,KAAK,GAAG,GAAG,WAAW;YAAnD;GACE,oBAAC,MAAD;IAAa,OAAM;oBACV,KAAK;IACT,EAFG,KAEH;GACL,oBAAC,MAAD;IAAgB,OAAM;cACpB,oBAAC,KAAD;KACE,UAAU,UAAsB;AAC9B,YAAM,gBAAgB;AACtB,eAAS,KAAK,GAAG;;qBAGZ,KAAK;KACV,CAAA;IACD,EATG,QASH;GACL,oBAAC,MAAD;IAAiB,OAAM;cACrB,oBAAC,KAAD;KACE,UAAU,UAAsB;AAC9B,YAAM,gBAAgB;AACtB,eAAS,KAAK,GAAG;;eAGnB,oBAAC,QAAD;MAAM,OAAM;MAA6B,eAAY;MAAS,CAAA;KAC5D,CAAA;IACD,EATG,SASH;GACL,oBAAC,MAAD,EAAiB,OAAM,YAAa,EAA5B,SAA4B;GACjC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx } from "../../jsx-runtime.js";
|
|
2
|
+
import "../../jsx-runtime2.js";
|
|
3
|
+
import { For } from "../../control/for.js";
|
|
4
|
+
import "../../index.js";
|
|
5
|
+
import { BenchmarkRow } from "./benchmark-row.js";
|
|
6
|
+
//#region src/bench/components/benchmark-table.tsx
|
|
7
|
+
function BenchmarkTable({ rows, isSelected, onSelect, onRemove }) {
|
|
8
|
+
return /* @__PURE__ */ jsx("table", {
|
|
9
|
+
class: "table table-hover table-striped test-data",
|
|
10
|
+
children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsx(For, {
|
|
11
|
+
each: () => rows(),
|
|
12
|
+
by: (item) => item.id,
|
|
13
|
+
children: (item) => /* @__PURE__ */ jsx(BenchmarkRow, {
|
|
14
|
+
item,
|
|
15
|
+
isSelected,
|
|
16
|
+
onSelect,
|
|
17
|
+
onRemove
|
|
18
|
+
})
|
|
19
|
+
}) })
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { BenchmarkTable };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=benchmark-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark-table.js","names":[],"sources":["../../../src/bench/components/benchmark-table.tsx"],"sourcesContent":["import { For, type State } from '../../index';\nimport { BenchmarkRow, type BenchmarkRowData } from './benchmark-row';\n\ninterface BenchmarkTableProps {\n rows: State<BenchmarkRowData[]>;\n isSelected: (id: number) => boolean;\n onSelect: (id: number) => void;\n onRemove: (id: number) => void;\n}\n\nexport function BenchmarkTable({\n rows,\n isSelected,\n onSelect,\n onRemove,\n}: BenchmarkTableProps) {\n return (\n <table class=\"table table-hover table-striped test-data\">\n <tbody>\n {\n <For each={() => rows()} by={(item) => item.id}>\n {(item) => (\n <BenchmarkRow\n item={item}\n isSelected={isSelected}\n onSelect={onSelect}\n onRemove={onRemove}\n />\n )}\n </For>\n }\n </tbody>\n </table>\n );\n}\n"],"mappings":";;;;;;AAUA,SAAgB,eAAe,EAC7B,MACA,YACA,UACA,YACsB;AACtB,QACE,oBAAC,SAAD;EAAO,OAAM;YACX,oBAAC,SAAD,EAAA,UAEI,oBAAC,KAAD;GAAK,YAAY,MAAM;GAAE,KAAK,SAAS,KAAK;cACxC,SACA,oBAAC,cAAD;IACQ;IACM;IACF;IACA;IACV,CAAA;GAEA,CAAA,EAEF,CAAA;EACF,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BenchmarkRowData } from "./bench/components/benchmark-row.js";
|
|
2
|
+
|
|
3
|
+
//#region src/bench/benchmark-entry.d.ts
|
|
4
|
+
type RowData = BenchmarkRowData;
|
|
5
|
+
interface BenchmarkMetadata {
|
|
6
|
+
packageName: string;
|
|
7
|
+
packageVersion: string;
|
|
8
|
+
buildLabel: string;
|
|
9
|
+
}
|
|
10
|
+
declare const benchmarkMetadata: BenchmarkMetadata;
|
|
11
|
+
declare function getBenchmarkMetadata(): BenchmarkMetadata;
|
|
12
|
+
declare function mountBenchmark(root: Element, initialRows?: RowData[]): {
|
|
13
|
+
setRows(rows: RowData[]): void;
|
|
14
|
+
setSelected(id: number | null): void;
|
|
15
|
+
cleanup(): void;
|
|
16
|
+
};
|
|
17
|
+
declare const _default: {
|
|
18
|
+
mountBenchmark: typeof mountBenchmark;
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { BenchmarkMetadata, benchmarkMetadata, _default as default, getBenchmarkMetadata, mountBenchmark };
|
|
22
|
+
//# sourceMappingURL=benchmark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.d.ts","names":[],"sources":["../src/bench/benchmark-entry.tsx"],"mappings":";;;KAWK,OAAA,GAAU,gBAAA;AAAA,UAEE,iBAAA;EACf,WAAA;EACA,cAAA;EACA,UAAA;AAAA;AAAA,cAYW,iBAAA,EAAmB,iBAAA;AAAA,iBAOhB,oBAAA,CAAA,GAAwB,iBAAA;AAAA,iBAIxB,cAAA,CAAe,IAAA,EAAM,OAAA,EAAS,WAAA,GAAc,OAAA;gBAmC1C,OAAA;;;;cAcjB,QAAA"}
|
package/dist/benchmark.js
CHANGED
|
@@ -1 +1,64 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { globalScheduler } from "./runtime/scheduler.js";
|
|
2
|
+
import { jsx } from "./jsx-runtime.js";
|
|
3
|
+
import { installRendererBridge } from "./renderer/index.js";
|
|
4
|
+
import { state } from "./runtime/state.js";
|
|
5
|
+
import { selector } from "./runtime/selector.js";
|
|
6
|
+
import { createIsland } from "./boot/index.js";
|
|
7
|
+
import "./jsx-runtime2.js";
|
|
8
|
+
import { BenchmarkTable } from "./bench/components/benchmark-table.js";
|
|
9
|
+
//#region src/bench/benchmark-entry.tsx
|
|
10
|
+
installRendererBridge();
|
|
11
|
+
const benchmarkMetadata = {
|
|
12
|
+
packageName: "@askrjs/askr",
|
|
13
|
+
packageVersion: "0.0.29",
|
|
14
|
+
buildLabel: "0.0.29-local"
|
|
15
|
+
};
|
|
16
|
+
function getBenchmarkMetadata() {
|
|
17
|
+
return { ...benchmarkMetadata };
|
|
18
|
+
}
|
|
19
|
+
function mountBenchmark(root, initialRows) {
|
|
20
|
+
const initialRowsTyped = Array.isArray(initialRows) ? initialRows : [];
|
|
21
|
+
let dataState;
|
|
22
|
+
let selectedState;
|
|
23
|
+
const App = () => {
|
|
24
|
+
dataState = state(initialRowsTyped);
|
|
25
|
+
selectedState = state(null);
|
|
26
|
+
dataState._hasBeenRead = true;
|
|
27
|
+
const isSelected = selector(selectedState);
|
|
28
|
+
const select = (id) => selectedState.set(id);
|
|
29
|
+
const remove = (id) => {
|
|
30
|
+
dataState.set((rows) => rows.filter((item) => item.id !== id));
|
|
31
|
+
selectedState.set((selected) => selected === id ? null : selected);
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */ jsx("div", {
|
|
34
|
+
class: "container",
|
|
35
|
+
children: /* @__PURE__ */ jsx(BenchmarkTable, {
|
|
36
|
+
rows: dataState,
|
|
37
|
+
isSelected,
|
|
38
|
+
onSelect: select,
|
|
39
|
+
onRemove: remove
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
createIsland({
|
|
44
|
+
root,
|
|
45
|
+
component: App
|
|
46
|
+
});
|
|
47
|
+
globalScheduler.flush();
|
|
48
|
+
return {
|
|
49
|
+
setRows(rows) {
|
|
50
|
+
dataState.set(rows);
|
|
51
|
+
globalScheduler.flush();
|
|
52
|
+
},
|
|
53
|
+
setSelected(id) {
|
|
54
|
+
selectedState.set(id);
|
|
55
|
+
globalScheduler.flush();
|
|
56
|
+
},
|
|
57
|
+
cleanup() {}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
var benchmark_entry_default = { mountBenchmark };
|
|
61
|
+
//#endregion
|
|
62
|
+
export { benchmarkMetadata, benchmark_entry_default as default, getBenchmarkMetadata, mountBenchmark };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=benchmark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.js","names":[],"sources":["../src/bench/benchmark-entry.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { createIsland } from '../boot';\nimport { installRendererBridge } from '../renderer';\nimport { selector } from '../runtime/selector';\nimport { state, State } from '../runtime/state';\nimport { globalScheduler } from '../runtime/scheduler';\nimport { BenchmarkTable } from './components/benchmark-table';\nimport type { BenchmarkRowData } from './components/benchmark-row';\n\ninstallRendererBridge();\n\ntype RowData = BenchmarkRowData;\n\nexport interface BenchmarkMetadata {\n packageName: string;\n packageVersion: string;\n buildLabel: string;\n}\n\nconst packageName =\n process.env.ASKR_PACKAGE_NAME ||\n process.env.npm_package_name ||\n '@askrjs/askr';\nconst packageVersion =\n process.env.ASKR_PACKAGE_VERSION ||\n process.env.npm_package_version ||\n '0.0.0';\n\nexport const benchmarkMetadata: BenchmarkMetadata = {\n packageName,\n packageVersion,\n buildLabel:\n process.env.ASKR_BENCHMARK_BUILD_LABEL || `${packageVersion}-local`,\n};\n\nexport function getBenchmarkMetadata(): BenchmarkMetadata {\n return { ...benchmarkMetadata };\n}\n\nexport function mountBenchmark(root: Element, initialRows?: RowData[]) {\n const initialRowsTyped: RowData[] = Array.isArray(initialRows)\n ? initialRows\n : [];\n let dataState!: State<RowData[]>;\n let selectedState!: State<number | null>;\n\n const App = () => {\n dataState = state<RowData[]>(initialRowsTyped);\n selectedState = state<number | null>(null);\n dataState._hasBeenRead = true;\n const isSelected = selector(selectedState);\n\n const select = (id: number) => selectedState.set(id);\n const remove = (id: number) => {\n dataState.set((rows) => rows.filter((item) => item.id !== id));\n selectedState.set((selected) => (selected === id ? null : selected));\n };\n\n return (\n <div class=\"container\">\n <BenchmarkTable\n rows={dataState}\n isSelected={isSelected}\n onSelect={select}\n onRemove={remove}\n />\n </div>\n );\n };\n\n createIsland({ root, component: App as any });\n globalScheduler.flush();\n\n return {\n setRows(rows: RowData[]) {\n dataState.set(rows);\n // Ensure work is flushed so external harnesses (like JFB) that check the DOM\n // immediately after calling `setRows` observe the committed DOM.\n globalScheduler.flush();\n },\n setSelected(id: number | null) {\n selectedState.set(id);\n globalScheduler.flush();\n },\n cleanup() {\n // nothing to do; outer test may clean the container\n },\n };\n}\n\nexport default { mountBenchmark };\n"],"mappings":";;;;;;;;;AASA,uBAAuB;AAmBvB,MAAa,oBAAuC;CAClD;CACA;CACA,YAAA;CAED;AAED,SAAgB,uBAA0C;AACxD,QAAO,EAAE,GAAG,mBAAmB;;AAGjC,SAAgB,eAAe,MAAe,aAAyB;CACrE,MAAM,mBAA8B,MAAM,QAAQ,YAAY,GAC1D,cACA,EAAE;CACN,IAAI;CACJ,IAAI;CAEJ,MAAM,YAAY;AAChB,cAAY,MAAiB,iBAAiB;AAC9C,kBAAgB,MAAqB,KAAK;AAC1C,YAAU,eAAe;EACzB,MAAM,aAAa,SAAS,cAAc;EAE1C,MAAM,UAAU,OAAe,cAAc,IAAI,GAAG;EACpD,MAAM,UAAU,OAAe;AAC7B,aAAU,KAAK,SAAS,KAAK,QAAQ,SAAS,KAAK,OAAO,GAAG,CAAC;AAC9D,iBAAc,KAAK,aAAc,aAAa,KAAK,OAAO,SAAU;;AAGtE,SACE,oBAAC,OAAD;GAAK,OAAM;aACT,oBAAC,gBAAD;IACE,MAAM;IACM;IACZ,UAAU;IACV,UAAU;IACV,CAAA;GACE,CAAA;;AAIV,cAAa;EAAE;EAAM,WAAW;EAAY,CAAC;AAC7C,iBAAgB,OAAO;AAEvB,QAAO;EACL,QAAQ,MAAiB;AACvB,aAAU,IAAI,KAAK;AAGnB,mBAAgB,OAAO;;EAEzB,YAAY,IAAmB;AAC7B,iBAAc,IAAI,GAAG;AACrB,mBAAgB,OAAO;;EAEzB,UAAU;EAGX;;AAGH,IAAA,0BAAe,EAAE,gBAAgB"}
|
package/dist/bin/askr-ssg.d.ts
CHANGED
|
@@ -1,32 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
incremental: boolean;
|
|
13
|
-
changedKeys: string[];
|
|
14
|
-
changedRoutes: string[];
|
|
15
|
-
forceFull: boolean;
|
|
16
|
-
help: boolean;
|
|
1
|
+
import { createStaticGen } from "../ssg/create-static-gen.js";
|
|
2
|
+
//#region src/bin/askr-ssg.d.ts
|
|
3
|
+
interface ParsedCliArgs {
|
|
4
|
+
configPath: string;
|
|
5
|
+
outputDir: string;
|
|
6
|
+
workers: number | 'auto';
|
|
7
|
+
incremental: boolean;
|
|
8
|
+
changedKeys: string[];
|
|
9
|
+
changedRoutes: string[];
|
|
10
|
+
forceFull: boolean;
|
|
11
|
+
help: boolean;
|
|
17
12
|
}
|
|
18
13
|
interface CliIo {
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
log: (...args: unknown[]) => void;
|
|
15
|
+
error: (...args: unknown[]) => void;
|
|
21
16
|
}
|
|
22
17
|
interface CliDeps {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
18
|
+
cwd: () => string;
|
|
19
|
+
now: () => number;
|
|
20
|
+
existsSync: (path: string) => boolean;
|
|
21
|
+
importConfig: (path: string) => Promise<Record<string, unknown>>;
|
|
22
|
+
createStaticGen: typeof createStaticGen;
|
|
28
23
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
declare function parseCliArgs(args: string[]): ParsedCliArgs;
|
|
25
|
+
declare function runCli(args: string[], deps?: Partial<CliDeps>, io?: CliIo): Promise<number>;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { ParsedCliArgs, parseCliArgs, runCli };
|
|
32
28
|
//# sourceMappingURL=askr-ssg.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askr-ssg.d.ts","
|
|
1
|
+
{"version":3,"file":"askr-ssg.d.ts","names":[],"sources":["../../src/bin/askr-ssg.ts"],"mappings":";;UAuBiB,aAAA;EACf,UAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,WAAA;EACA,aAAA;EACA,SAAA;EACA,IAAA;AAAA;AAAA,UAGQ,KAAA;EACR,GAAA,MAAS,IAAA;EACT,KAAA,MAAW,IAAA;AAAA;AAAA,UAGH,OAAA;EACR,GAAA;EACA,GAAA;EACA,UAAA,GAAa,IAAA;EACb,YAAA,GAAe,IAAA,aAAiB,OAAA,CAAQ,MAAA;EACxC,eAAA,SAAwB,eAAA;AAAA;AAAA,iBA2CV,YAAA,CAAa,IAAA,aAAiB,aAAA;AAAA,iBAqExB,MAAA,CACpB,IAAA,YACA,IAAA,GAAM,OAAA,CAAQ,OAAA,GACd,EAAA,GAAI,KAAA,GACH,OAAA"}
|