@primate/core 0.4.6 → 0.6.0
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/lib/private/App.d.ts +771 -6
- package/lib/private/App.js +49 -16
- package/lib/private/Binder.d.ts +2 -2
- package/lib/private/Flags.d.ts +8 -4
- package/lib/private/Module.d.ts +4 -16
- package/lib/private/Module.js +1 -17
- package/lib/private/app/EnvSchema.d.ts +5 -0
- package/lib/private/app/EnvSchema.js +2 -0
- package/lib/private/app/Facade.browser.d.ts +11 -0
- package/lib/private/app/Facade.browser.js +19 -0
- package/lib/private/app/Facade.d.ts +811 -0
- package/lib/private/app/Facade.js +56 -0
- package/lib/private/asset/Asset.d.ts +1 -1
- package/lib/private/build/App.d.ts +2 -2
- package/lib/private/build/App.js +0 -2
- package/lib/private/build/client/index.js +19 -10
- package/lib/private/build/client/plugin/app-request.d.ts +4 -0
- package/lib/private/build/client/plugin/app-request.js +19 -0
- package/lib/private/build/client/plugin/view.d.ts +4 -0
- package/lib/private/build/client/plugin/view.js +13 -0
- package/lib/private/build/hook.d.ts +1 -2
- package/lib/private/build/hook.js +25 -19
- package/lib/private/build/index.d.ts +2 -1
- package/lib/private/build/index.js +27 -27
- package/lib/private/build/presets.d.ts +10 -0
- package/lib/private/build/presets.js +39 -0
- package/lib/private/build/server/index.js +10 -14
- package/lib/private/build/server/plugin/app-request.d.ts +4 -0
- package/lib/private/build/server/plugin/app-request.js +19 -0
- package/lib/private/build/server/plugin/assets.js +9 -7
- package/lib/private/build/server/plugin/config.js +11 -4
- package/lib/private/build/server/plugin/frontend.js +4 -2
- package/lib/private/build/server/plugin/live-reload.d.ts +4 -0
- package/lib/private/build/server/plugin/{hot-reload.js → live-reload.js} +12 -12
- package/lib/private/build/server/plugin/native-addons.js +10 -11
- package/lib/private/build/server/plugin/node-imports.js +2 -2
- package/lib/private/build/server/plugin/route.js +4 -4
- package/lib/private/build/server/plugin/store.js +11 -33
- package/lib/private/build/server/plugin/stores.js +12 -9
- package/lib/private/build/server/plugin/view.js +5 -5
- package/lib/private/build/server/plugin/views.js +4 -4
- package/lib/private/build/server/plugin/virtual-pages.js +8 -8
- package/lib/private/build/server/plugin/virtual-routes.js +8 -13
- package/lib/private/build/server/plugin/wasm.js +2 -3
- package/lib/private/build/shared/plugin/app-request.d.ts +4 -0
- package/lib/private/build/shared/plugin/app-request.js +19 -0
- package/lib/private/bye.js +2 -3
- package/lib/private/client/Data.d.ts +3 -2
- package/lib/private/client/Render.d.ts +8 -0
- package/lib/private/{frontend → client}/ServerData.d.ts +1 -1
- package/lib/private/client/ServerView.d.ts +4 -0
- package/lib/private/client/ValidateInit.d.ts +1 -3
- package/lib/private/client/ValidationError.d.ts +1 -1
- package/lib/private/{frontend → client}/View.d.ts +1 -1
- package/lib/private/{frontend → client}/ViewOptions.d.ts +1 -1
- package/lib/private/{frontend → client}/ViewResponse.d.ts +2 -2
- package/lib/private/client/app.js +3 -3
- package/lib/private/client/boot.d.ts +5 -0
- package/lib/private/client/boot.js +64 -0
- package/lib/private/client/create-form.d.ts +32 -0
- package/lib/private/client/create-form.js +123 -0
- package/lib/private/client/extract-issues.d.ts +4 -0
- package/lib/private/client/extract-issues.js +21 -0
- package/lib/private/client/http.d.ts +13 -0
- package/lib/private/client/http.js +57 -0
- package/lib/private/client/index.d.ts +23 -0
- package/lib/private/client/index.js +16 -0
- package/lib/private/client/navigate.d.ts +13 -0
- package/lib/private/client/navigate.js +67 -0
- package/lib/private/client/root.d.ts +9 -0
- package/lib/private/client/root.js +11 -0
- package/lib/private/client/submit.d.ts +2 -0
- package/lib/private/client/submit.js +41 -0
- package/lib/private/client/{toValidated.d.ts → to-validated.d.ts} +2 -4
- package/lib/private/client/{toValidated.js → to-validated.js} +1 -1
- package/lib/private/client/validate-field.d.ts +3 -0
- package/lib/private/client/validate-field.js +41 -0
- package/lib/private/config/index.d.ts +7 -21
- package/lib/private/config/index.js +4 -1
- package/lib/private/config/schema.d.ts +82 -22
- package/lib/private/config/schema.js +25 -7
- package/lib/private/cookie.d.ts +12 -6
- package/lib/private/cookie.js +10 -14
- package/lib/private/db/As.d.ts +10 -0
- package/lib/private/db/DB.d.ts +49 -0
- package/lib/private/db/DB.js +3 -0
- package/lib/private/db/DataDict.d.ts +5 -0
- package/lib/private/db/DataKey.d.ts +4 -0
- package/lib/private/db/DataValue.d.ts +17 -0
- package/lib/private/db/MemoryDB.d.ts +33 -0
- package/lib/private/db/MemoryDB.js +335 -0
- package/lib/private/db/PK.d.ts +3 -0
- package/lib/private/db/PK.js +2 -0
- package/lib/private/{database → db}/Query.d.ts +2 -2
- package/lib/private/{database → db}/QueryBuilder.d.ts +2 -3
- package/lib/private/db/ReadArgs.d.ts +9 -0
- package/lib/private/db/ReadArgs.js +2 -0
- package/lib/private/db/ReadRelationsArgs.d.ts +6 -0
- package/lib/private/db/ReadRelationsArgs.js +2 -0
- package/lib/private/{database → db}/Schema.d.ts +1 -2
- package/lib/private/db/Sort.d.ts +4 -0
- package/lib/private/{database → db}/TypeMap.d.ts +2 -3
- package/lib/private/{database → db}/Types.d.ts +1 -1
- package/lib/private/db/With.d.ts +16 -0
- package/lib/private/db/With.js +2 -0
- package/lib/private/db/common.d.ts +25 -0
- package/lib/private/db/common.js +67 -0
- package/lib/private/db/errors.d.ts +104 -0
- package/lib/private/db/errors.js +237 -0
- package/lib/private/db/migrate/apply.d.ts +2 -0
- package/lib/private/db/migrate/apply.js +32 -0
- package/lib/private/db/migrate/bundle.d.ts +3 -0
- package/lib/private/db/migrate/bundle.js +22 -0
- package/lib/private/db/migrate/create.d.ts +2 -0
- package/lib/private/db/migrate/create.js +154 -0
- package/lib/private/db/migrate/index.d.ts +10 -0
- package/lib/private/db/migrate/index.js +6 -0
- package/lib/private/db/migrate/status.d.ts +2 -0
- package/lib/private/db/migrate/status.js +38 -0
- package/lib/private/db/migrate/store.d.ts +5 -0
- package/lib/private/db/migrate/store.js +33 -0
- package/lib/private/db/sql.d.ts +28 -0
- package/lib/private/db/sql.js +177 -0
- package/lib/private/db/storage.d.ts +3 -0
- package/lib/private/db/storage.js +3 -0
- package/lib/private/db/symbol.js +2 -0
- package/lib/private/db/test.d.ts +4 -0
- package/lib/private/db/test.js +1750 -0
- package/lib/private/errors.d.ts +88 -0
- package/lib/private/errors.js +211 -0
- package/lib/private/frontend.d.ts +72 -0
- package/lib/private/frontend.js +245 -0
- package/lib/private/hash.js +0 -1
- package/lib/private/i18n/Catalog.d.ts +5 -2
- package/lib/private/i18n/Formatter.js +21 -9
- package/lib/private/i18n/errors.d.ts +16 -0
- package/lib/private/i18n/errors.js +27 -0
- package/lib/private/i18n/format.d.ts +4 -0
- package/lib/private/i18n/format.js +95 -0
- package/lib/private/i18n/index/client.d.ts +9 -0
- package/lib/private/i18n/index/client.js +152 -0
- package/lib/private/i18n/index/server.d.ts +9 -0
- package/lib/private/i18n/index/server.js +57 -0
- package/lib/private/i18n/index/types.d.ts +33 -0
- package/lib/private/i18n/index/types.js +2 -0
- package/lib/private/i18n/locale.d.ts +9 -3
- package/lib/private/i18n/module.d.ts +3 -0
- package/lib/private/i18n/module.js +115 -0
- package/lib/private/i18n/ordinals.d.ts +1 -1
- package/lib/private/i18n/resolve.d.ts +7 -0
- package/lib/private/i18n/resolve.js +30 -0
- package/lib/private/i18n/schema.d.ts +10 -5
- package/lib/private/i18n/schema.js +6 -10
- package/lib/private/i18n/storage.d.ts +3 -0
- package/lib/private/i18n/storage.js +5 -0
- package/lib/private/i18n/validate.d.ts +2 -0
- package/lib/private/i18n/validate.js +19 -0
- package/lib/private/index.d.ts +14 -0
- package/lib/private/index.js +2 -0
- package/lib/private/log.d.ts +1 -0
- package/lib/private/log.js +15 -14
- package/lib/private/module/Hook.d.ts +1 -1
- package/lib/private/module/Next.d.ts +1 -1
- package/lib/private/module/Setup.d.ts +21 -0
- package/lib/private/module/Setup.js +2 -0
- package/lib/private/module/create.d.ts +16 -0
- package/lib/private/module/create.js +28 -0
- package/lib/private/orm/ExtractSchema.d.ts +9 -0
- package/lib/private/orm/ExtractSchema.js +2 -0
- package/lib/private/orm/ForeignKey.d.ts +14 -0
- package/lib/private/orm/ForeignKey.js +25 -0
- package/lib/private/orm/PrimaryKey.d.ts +17 -0
- package/lib/private/orm/PrimaryKey.js +38 -0
- package/lib/private/orm/StoreInput.d.ts +10 -0
- package/lib/private/orm/StoreInput.js +2 -0
- package/lib/private/orm/key.d.ts +8 -0
- package/lib/private/orm/key.js +8 -0
- package/lib/private/orm/parse.d.ts +13 -0
- package/lib/private/orm/parse.js +29 -0
- package/lib/private/orm/relation.d.ts +43 -0
- package/lib/private/orm/relation.js +26 -0
- package/lib/private/orm/store.d.ts +187 -0
- package/lib/private/orm/store.js +542 -0
- package/lib/private/paths.d.ts +2 -2
- package/lib/private/paths.js +3 -3
- package/lib/private/request/RequestBag.d.ts +5 -1
- package/lib/private/request/RequestBag.js +16 -9
- package/lib/private/request/RequestBody.d.ts +6 -11
- package/lib/private/request/RequestBody.js +51 -59
- package/lib/private/request/RequestContext.d.ts +12 -0
- package/lib/private/request/RequestContext.js +31 -0
- package/lib/private/request/RequestFacade.d.ts +11 -6
- package/lib/private/request/RequestPublic.d.ts +9 -0
- package/lib/private/request/RequestPublic.js +2 -0
- package/lib/private/request/RequestView.d.ts +11 -0
- package/lib/private/request/RequestView.js +3 -0
- package/lib/private/request/handle.d.ts +4 -0
- package/lib/private/request/handle.js +18 -0
- package/lib/private/request/parse.d.ts +2 -2
- package/lib/private/request/parse.js +55 -16
- package/lib/private/request/route.js +37 -22
- package/lib/private/request/router.d.ts +1 -1
- package/lib/private/request/router.js +22 -50
- package/lib/private/{database/symbol/wrap.d.ts → request/sContext.d.ts} +1 -1
- package/lib/private/request/sContext.js +2 -0
- package/lib/private/request/storage.d.ts +4 -0
- package/lib/private/request/storage.js +5 -0
- package/lib/private/response/ResponseFunction.d.ts +2 -3
- package/lib/private/response/ResponseLike.d.ts +1 -1
- package/lib/private/response/binary.d.ts +1 -1
- package/lib/private/response/binary.js +4 -3
- package/lib/private/response/error.d.ts +1 -1
- package/lib/private/response/error.js +1 -1
- package/lib/private/response/json.d.ts +1 -1
- package/lib/private/response/json.js +2 -2
- package/lib/private/response/redirect.d.ts +5 -5
- package/lib/private/response/redirect.js +9 -10
- package/lib/private/response/respond.js +16 -17
- package/lib/private/response/sse.d.ts +1 -1
- package/lib/private/response/sse.js +2 -2
- package/lib/private/response/text.d.ts +1 -1
- package/lib/private/response/text.js +3 -3
- package/lib/private/response/view.d.ts +3 -3
- package/lib/private/response/view.js +7 -14
- package/lib/private/response/ws.d.ts +1 -1
- package/lib/private/response.d.ts +1 -1
- package/lib/private/route/Handler.d.ts +1 -1
- package/lib/private/route/hook.d.ts +6 -0
- package/lib/private/route/hook.js +5 -0
- package/lib/private/route/router.d.ts +6 -2
- package/lib/private/route/router.js +32 -18
- package/lib/private/route/wrap.js +2 -2
- package/lib/private/serve/App.d.ts +11 -25
- package/lib/private/serve/App.js +138 -120
- package/lib/private/serve/Init.d.ts +5 -5
- package/lib/private/serve/dev-module.d.ts +2 -0
- package/lib/private/serve/dev-module.js +34 -0
- package/lib/private/serve/hook.d.ts +1 -2
- package/lib/private/serve/hook.js +2 -9
- package/lib/private/serve/index.d.ts +1 -1
- package/lib/private/serve/index.js +36 -2
- package/lib/private/server/TAG.d.ts +3 -0
- package/lib/private/server/TAG.js +2 -0
- package/lib/private/server/index.d.ts +5 -0
- package/lib/private/server/index.js +6 -0
- package/lib/private/session/Data.d.ts +1 -2
- package/lib/private/session/SessionHandle.d.ts +1 -1
- package/lib/private/session/SessionHandle.js +11 -9
- package/lib/private/session/index.d.ts +3 -4
- package/lib/private/session/module.d.ts +3 -0
- package/lib/private/session/module.js +114 -0
- package/lib/private/session/schema.d.ts +17 -9
- package/lib/private/session/schema.js +11 -6
- package/lib/private/session/storage.d.ts +1 -2
- package/lib/private/session/storage.js +2 -2
- package/lib/private/tags.js +2 -2
- package/lib/private/target/Manager.js +6 -12
- package/lib/private/target/Target.d.ts +1 -1
- package/lib/public/AppFacade.d.ts +2 -0
- package/lib/public/AppFacade.js +2 -0
- package/lib/public/build/presets.d.ts +2 -0
- package/lib/public/build/presets.js +2 -0
- package/lib/public/build/transform.d.ts +2 -0
- package/lib/public/build/transform.js +2 -0
- package/lib/public/client.d.ts +3 -0
- package/lib/public/client.js +2 -0
- package/lib/public/db/MemoryDB.d.ts +2 -0
- package/lib/public/db/MemoryDB.js +2 -0
- package/lib/public/db/errors.d.ts +2 -0
- package/lib/public/db/errors.js +2 -0
- package/lib/public/db/migrate.d.ts +2 -0
- package/lib/public/db/migrate.js +2 -0
- package/lib/public/db/sql.d.ts +2 -0
- package/lib/public/db/sql.js +2 -0
- package/lib/public/db/test.d.ts +2 -0
- package/lib/public/db/test.js +2 -0
- package/lib/public/db.d.ts +12 -0
- package/lib/public/db.js +2 -0
- package/lib/public/frontend.d.ts +3 -0
- package/lib/public/frontend.js +2 -0
- package/lib/public/index.d.ts +2 -0
- package/lib/public/index.js +2 -0
- package/lib/public/orm/key.d.ts +2 -0
- package/lib/public/orm/key.js +2 -0
- package/lib/public/orm/relation.d.ts +2 -0
- package/lib/public/orm/relation.js +2 -0
- package/lib/public/orm/store.d.ts +2 -0
- package/lib/public/orm/store.js +2 -0
- package/lib/public/request/server.d.ts +5 -0
- package/lib/public/request/server.js +7 -0
- package/lib/public/response.d.ts +22 -0
- package/lib/public/response.js +19 -0
- package/lib/public/route/hook.d.ts +2 -0
- package/lib/public/route/hook.js +2 -0
- package/lib/public/server.d.ts +3 -0
- package/lib/public/server.js +2 -0
- package/package.json +40 -30
- package/lib/private/AppError.d.ts +0 -4
- package/lib/private/AppError.js +0 -8
- package/lib/private/backend/Module.d.ts +0 -18
- package/lib/private/backend/Module.js +0 -22
- package/lib/private/backend/TAG.d.ts +0 -3
- package/lib/private/backend/TAG.js +0 -2
- package/lib/private/build/client/reload.d.ts +0 -7
- package/lib/private/build/client/reload.js +0 -6
- package/lib/private/build/server/plugin/database-default.d.ts +0 -4
- package/lib/private/build/server/plugin/database-default.js +0 -48
- package/lib/private/build/server/plugin/hot-reload.d.ts +0 -4
- package/lib/private/build/server/plugin/store-wrap.d.ts +0 -4
- package/lib/private/build/server/plugin/store-wrap.js +0 -33
- package/lib/private/client/spa/index.d.ts +0 -6
- package/lib/private/client/spa/index.js +0 -201
- package/lib/private/client/validate.d.ts +0 -3
- package/lib/private/client/validate.js +0 -54
- package/lib/private/database/As.d.ts +0 -7
- package/lib/private/database/Binds.d.ts +0 -4
- package/lib/private/database/Binds.js +0 -2
- package/lib/private/database/Changes.d.ts +0 -11
- package/lib/private/database/Changes.js +0 -2
- package/lib/private/database/ColumnTypes.d.ts +0 -11
- package/lib/private/database/ColumnTypes.js +0 -2
- package/lib/private/database/DataDict.d.ts +0 -5
- package/lib/private/database/DataKey.d.ts +0 -4
- package/lib/private/database/DataValue.d.ts +0 -5
- package/lib/private/database/Database.d.ts +0 -56
- package/lib/private/database/Database.js +0 -153
- package/lib/private/database/InMemoryDatabase.d.ts +0 -37
- package/lib/private/database/InMemoryDatabase.js +0 -181
- package/lib/private/database/Sort.d.ts +0 -4
- package/lib/private/database/Store.d.ts +0 -172
- package/lib/private/database/Store.js +0 -261
- package/lib/private/database/storage.d.ts +0 -4
- package/lib/private/database/storage.js +0 -3
- package/lib/private/database/symbol/wrap.js +0 -2
- package/lib/private/database/symbol.js +0 -2
- package/lib/private/database/test.d.ts +0 -4
- package/lib/private/database/test.js +0 -678
- package/lib/private/database/wrap.d.ts +0 -5
- package/lib/private/database/wrap.js +0 -5
- package/lib/private/fail.d.ts +0 -3
- package/lib/private/fail.js +0 -5
- package/lib/private/frontend/Module.d.ts +0 -62
- package/lib/private/frontend/Module.js +0 -250
- package/lib/private/frontend/Render.d.ts +0 -9
- package/lib/private/frontend/ServerView.d.ts +0 -5
- package/lib/private/i18n/Module.d.ts +0 -16
- package/lib/private/i18n/Module.js +0 -122
- package/lib/private/i18n/index.d.ts +0 -28
- package/lib/private/i18n/index.js +0 -236
- package/lib/private/module/BuildHook.d.ts +0 -5
- package/lib/private/module/BuildHook.js +0 -2
- package/lib/private/module/NextBuild.d.ts +0 -5
- package/lib/private/module/NextBuild.js +0 -2
- package/lib/private/module/NextServe.d.ts +0 -5
- package/lib/private/module/NextServe.js +0 -2
- package/lib/private/reducer.d.ts +0 -24
- package/lib/private/reducer.js +0 -10
- package/lib/private/route/guard.d.ts +0 -4
- package/lib/private/route/guard.js +0 -22
- package/lib/private/serve/module/Dev.d.ts +0 -11
- package/lib/private/serve/module/Dev.js +0 -28
- package/lib/private/serve/module/Handle.d.ts +0 -10
- package/lib/private/serve/module/Handle.js +0 -15
- package/lib/private/session/SessionModule.d.ts +0 -14
- package/lib/private/session/SessionModule.js +0 -122
- package/lib/private/wasm/API.d.ts +0 -7
- package/lib/private/wasm/API.js +0 -2
- package/lib/private/wasm/BufferViewSource.d.ts +0 -4
- package/lib/private/wasm/BufferViewSource.js +0 -2
- package/lib/private/wasm/Exports.d.ts +0 -23
- package/lib/private/wasm/Exports.js +0 -2
- package/lib/private/wasm/I32.d.ts +0 -5
- package/lib/private/wasm/I32.js +0 -2
- package/lib/private/wasm/I32_SIZE.d.ts +0 -3
- package/lib/private/wasm/I32_SIZE.js +0 -2
- package/lib/private/wasm/Instantiation.d.ts +0 -12
- package/lib/private/wasm/Instantiation.js +0 -2
- package/lib/private/wasm/Tagged.d.ts +0 -7
- package/lib/private/wasm/Tagged.js +0 -2
- package/lib/private/wasm/buffersize.d.ts +0 -2
- package/lib/private/wasm/buffersize.js +0 -5
- package/lib/private/wasm/decode-bytes.d.ts +0 -3
- package/lib/private/wasm/decode-bytes.js +0 -5
- package/lib/private/wasm/decode-json.d.ts +0 -7
- package/lib/private/wasm/decode-json.js +0 -11
- package/lib/private/wasm/decode-option.d.ts +0 -5
- package/lib/private/wasm/decode-option.js +0 -10
- package/lib/private/wasm/decode-response.d.ts +0 -19
- package/lib/private/wasm/decode-response.js +0 -90
- package/lib/private/wasm/decode-string.d.ts +0 -3
- package/lib/private/wasm/decode-string.js +0 -5
- package/lib/private/wasm/decode-websocket-close.d.ts +0 -5
- package/lib/private/wasm/decode-websocket-close.js +0 -6
- package/lib/private/wasm/decode-websocket-send.d.ts +0 -6
- package/lib/private/wasm/decode-websocket-send.js +0 -19
- package/lib/private/wasm/encode-buffer.d.ts +0 -3
- package/lib/private/wasm/encode-buffer.js +0 -6
- package/lib/private/wasm/encode-request.d.ts +0 -9
- package/lib/private/wasm/encode-request.js +0 -195
- package/lib/private/wasm/encode-session.d.ts +0 -3
- package/lib/private/wasm/encode-session.js +0 -25
- package/lib/private/wasm/encode-string-map.d.ts +0 -5
- package/lib/private/wasm/encode-string-map.js +0 -14
- package/lib/private/wasm/encode-string.d.ts +0 -13
- package/lib/private/wasm/encode-string.js +0 -17
- package/lib/private/wasm/encode-url.d.ts +0 -11
- package/lib/private/wasm/encode-url.js +0 -14
- package/lib/private/wasm/encode-websocket-close.d.ts +0 -2
- package/lib/private/wasm/encode-websocket-close.js +0 -7
- package/lib/private/wasm/encode-websocket-message.d.ts +0 -4
- package/lib/private/wasm/encode-websocket-message.js +0 -30
- package/lib/private/wasm/encode-websocket-open.d.ts +0 -2
- package/lib/private/wasm/encode-websocket-open.js +0 -7
- package/lib/private/wasm/filesize.d.ts +0 -2
- package/lib/private/wasm/filesize.js +0 -8
- package/lib/private/wasm/instantiate.d.ts +0 -37
- package/lib/private/wasm/instantiate.js +0 -408
- package/lib/private/wasm/open-websocket.d.ts +0 -4
- package/lib/private/wasm/open-websocket.js +0 -26
- package/lib/private/wasm/stringsize.d.ts +0 -3
- package/lib/private/wasm/stringsize.js +0 -5
- package/lib/private/wasm/urlsize.d.ts +0 -2
- package/lib/private/wasm/urlsize.js +0 -5
- package/lib/public/App.d.ts +0 -2
- package/lib/public/App.js +0 -2
- package/lib/public/AppError.d.ts +0 -2
- package/lib/public/AppError.js +0 -2
- package/lib/public/BuildApp.d.ts +0 -2
- package/lib/public/BuildApp.js +0 -2
- package/lib/public/BuildHook.d.ts +0 -2
- package/lib/public/BuildHook.js +0 -2
- package/lib/public/Database.d.ts +0 -2
- package/lib/public/Database.js +0 -2
- package/lib/public/Mode.d.ts +0 -2
- package/lib/public/Mode.js +0 -2
- package/lib/public/Module.d.ts +0 -2
- package/lib/public/Module.js +0 -2
- package/lib/public/Next.d.ts +0 -2
- package/lib/public/Next.js +0 -2
- package/lib/public/NextBuild.d.ts +0 -2
- package/lib/public/NextBuild.js +0 -2
- package/lib/public/NextHandle.d.ts +0 -2
- package/lib/public/NextHandle.js +0 -2
- package/lib/public/NextRoute.d.ts +0 -3
- package/lib/public/NextRoute.js +0 -2
- package/lib/public/NextServe.d.ts +0 -2
- package/lib/public/NextServe.js +0 -2
- package/lib/public/ServeApp.d.ts +0 -2
- package/lib/public/ServeApp.js +0 -2
- package/lib/public/Target.d.ts +0 -2
- package/lib/public/Target.js +0 -2
- package/lib/public/backend/Module.d.ts +0 -2
- package/lib/public/backend/Module.js +0 -2
- package/lib/public/backend/TAG.d.ts +0 -2
- package/lib/public/backend/TAG.js +0 -2
- package/lib/public/client/Data.d.ts +0 -2
- package/lib/public/client/Data.js +0 -2
- package/lib/public/client/ValidateInit.d.ts +0 -2
- package/lib/public/client/ValidateInit.js +0 -2
- package/lib/public/client/ValidateUpdater.d.ts +0 -2
- package/lib/public/client/ValidateUpdater.js +0 -2
- package/lib/public/client/ValidationError.d.ts +0 -2
- package/lib/public/client/ValidationError.js +0 -2
- package/lib/public/client/spa.d.ts +0 -2
- package/lib/public/client/spa.js +0 -2
- package/lib/public/client/toValidated.d.ts +0 -2
- package/lib/public/client/toValidated.js +0 -2
- package/lib/public/client/validate.d.ts +0 -2
- package/lib/public/client/validate.js +0 -2
- package/lib/public/database/As.d.ts +0 -2
- package/lib/public/database/As.js +0 -2
- package/lib/public/database/DataDict.d.ts +0 -2
- package/lib/public/database/DataDict.js +0 -2
- package/lib/public/database/InMemoryDatabase.d.ts +0 -2
- package/lib/public/database/InMemoryDatabase.js +0 -2
- package/lib/public/database/Sort.d.ts +0 -2
- package/lib/public/database/Sort.js +0 -2
- package/lib/public/database/Store.d.ts +0 -2
- package/lib/public/database/Store.js +0 -2
- package/lib/public/database/TypeMap.d.ts +0 -2
- package/lib/public/database/TypeMap.js +0 -2
- package/lib/public/database/Types.d.ts +0 -2
- package/lib/public/database/Types.js +0 -2
- package/lib/public/database/test.d.ts +0 -2
- package/lib/public/database/test.js +0 -2
- package/lib/public/database/wrap.d.ts +0 -2
- package/lib/public/database/wrap.js +0 -2
- package/lib/public/fail.d.ts +0 -2
- package/lib/public/fail.js +0 -2
- package/lib/public/frontend/Module.d.ts +0 -2
- package/lib/public/frontend/Module.js +0 -2
- package/lib/public/frontend/Publish.d.ts +0 -2
- package/lib/public/frontend/Publish.js +0 -2
- package/lib/public/frontend/Render.d.ts +0 -2
- package/lib/public/frontend/Render.js +0 -2
- package/lib/public/frontend/ViewResponse.d.ts +0 -2
- package/lib/public/frontend/ViewResponse.js +0 -2
- package/lib/public/request/RequestBody.d.ts +0 -2
- package/lib/public/request/RequestBody.js +0 -2
- package/lib/public/request/RequestFacade.d.ts +0 -2
- package/lib/public/request/RequestFacade.js +0 -2
- package/lib/public/request/Verb.d.ts +0 -2
- package/lib/public/request/Verb.js +0 -2
- package/lib/public/response/ResponseFunction.d.ts +0 -2
- package/lib/public/response/ResponseFunction.js +0 -2
- package/lib/public/response/ResponseLike.d.ts +0 -2
- package/lib/public/response/ResponseLike.js +0 -2
- package/lib/public/response/binary.d.ts +0 -2
- package/lib/public/response/binary.js +0 -2
- package/lib/public/response/error.d.ts +0 -2
- package/lib/public/response/error.js +0 -2
- package/lib/public/response/json.d.ts +0 -2
- package/lib/public/response/json.js +0 -2
- package/lib/public/response/redirect.d.ts +0 -2
- package/lib/public/response/redirect.js +0 -2
- package/lib/public/response/sse.d.ts +0 -2
- package/lib/public/response/sse.js +0 -2
- package/lib/public/response/text.d.ts +0 -2
- package/lib/public/response/text.js +0 -2
- package/lib/public/response/view.d.ts +0 -2
- package/lib/public/response/view.js +0 -2
- package/lib/public/response/ws.d.ts +0 -2
- package/lib/public/response/ws.js +0 -2
- package/lib/public/wasm/decode-json.d.ts +0 -5
- package/lib/public/wasm/decode-json.js +0 -3
- package/lib/public/wasm/decode-response.d.ts +0 -3
- package/lib/public/wasm/decode-response.js +0 -3
- package/lib/public/wasm/encode-request.d.ts +0 -3
- package/lib/public/wasm/encode-request.js +0 -3
- package/lib/public/wasm/encode-session.d.ts +0 -3
- package/lib/public/wasm/encode-session.js +0 -3
- package/lib/public/wasm/instantiate.d.ts +0 -4
- package/lib/public/wasm/instantiate.js +0 -3
- /package/lib/private/{frontend → client}/Publish.d.ts +0 -0
- /package/lib/private/{frontend → client}/Publish.js +0 -0
- /package/lib/private/{frontend → client}/Render.js +0 -0
- /package/lib/private/{frontend → client}/ServerData.js +0 -0
- /package/lib/private/{frontend → client}/ServerView.js +0 -0
- /package/lib/private/{frontend → client}/View.js +0 -0
- /package/lib/private/{frontend → client}/ViewOptions.js +0 -0
- /package/lib/private/{frontend → client}/ViewResponse.js +0 -0
- /package/lib/private/client/{spa/storage.d.ts → storage.d.ts} +0 -0
- /package/lib/private/client/{spa/storage.js → storage.js} +0 -0
- /package/lib/private/{database → db}/As.js +0 -0
- /package/lib/private/{database → db}/DataDict.js +0 -0
- /package/lib/private/{database → db}/DataKey.js +0 -0
- /package/lib/private/{database → db}/DataValue.js +0 -0
- /package/lib/private/{database → db}/Query.js +0 -0
- /package/lib/private/{database → db}/QueryBuilder.js +0 -0
- /package/lib/private/{database → db}/Schema.js +0 -0
- /package/lib/private/{database → db}/Sort.js +0 -0
- /package/lib/private/{database → db}/TypeMap.js +0 -0
- /package/lib/private/{database → db}/Types.js +0 -0
- /package/lib/private/{database → db}/primary.d.ts +0 -0
- /package/lib/private/{database → db}/primary.js +0 -0
- /package/lib/private/{database → db}/symbol.d.ts +0 -0
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import E from "#errors";
|
|
2
|
+
import is from "@rcompat/is";
|
|
3
|
+
export default function plugin_server_live_reload(app) {
|
|
3
4
|
let build_n = 0;
|
|
4
5
|
let serve_app;
|
|
5
6
|
return {
|
|
6
|
-
name: "primate/server/
|
|
7
|
+
name: "primate/server/live-reload",
|
|
7
8
|
setup(build) {
|
|
8
9
|
build.onEnd(async (result) => {
|
|
9
10
|
// don't do anything on errors
|
|
10
|
-
if (result.errors.length)
|
|
11
|
+
if (result.errors.length > 0)
|
|
11
12
|
return;
|
|
12
13
|
// we expect a single bundled file
|
|
13
|
-
const
|
|
14
|
-
if (
|
|
14
|
+
const out_file = result.outputFiles?.[0];
|
|
15
|
+
if (is.undefined(out_file))
|
|
15
16
|
return;
|
|
16
17
|
const filename = `server.${build_n}.js`;
|
|
17
18
|
const s = app.path.build.join(filename);
|
|
18
|
-
await s.write(
|
|
19
|
+
await s.write(out_file.text);
|
|
19
20
|
try {
|
|
20
21
|
// stop old app
|
|
21
|
-
if (serve_app
|
|
22
|
+
if (is.defined(serve_app))
|
|
22
23
|
serve_app.stop();
|
|
23
24
|
serve_app = (await s.import()).default;
|
|
24
25
|
const stamp = app.runpath("client", "server-stamp.js");
|
|
25
26
|
await stamp.write(`export default ${build_n};\n`);
|
|
26
27
|
build_n++;
|
|
27
28
|
}
|
|
28
|
-
catch (
|
|
29
|
-
|
|
30
|
-
console.error(err);
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw E.build_live_reload_failed(filename, error);
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
33
|
},
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=
|
|
36
|
+
//# sourceMappingURL=live-reload.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import E from "#errors";
|
|
2
2
|
import log from "#log";
|
|
3
|
-
import
|
|
3
|
+
import fs from "@rcompat/fs";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
const requirer = createRequire(import.meta.url);
|
|
6
6
|
export default function plugin_server_store(app) {
|
|
@@ -17,23 +17,22 @@ export default function plugin_server_store(app) {
|
|
|
17
17
|
const module_path = requirer.resolve(args.path, {
|
|
18
18
|
paths: [args.resolveDir],
|
|
19
19
|
});
|
|
20
|
-
const module_dir =
|
|
20
|
+
const module_dir = fs.ref(module_path).directory;
|
|
21
21
|
// built-ins have no .node and would otherwise cause global search
|
|
22
22
|
if (module_dir.path === ".")
|
|
23
23
|
return null;
|
|
24
24
|
// check if this module has .node files
|
|
25
|
-
const node_files = await module_dir
|
|
26
|
-
|
|
25
|
+
const node_files = await module_dir.files({
|
|
26
|
+
recursive: true,
|
|
27
|
+
filter: info => info.path.endsWith(".node"),
|
|
28
|
+
});
|
|
27
29
|
if (node_files.length > 0) {
|
|
28
30
|
const platform = process.platform;
|
|
29
31
|
const arch = process.arch;
|
|
30
32
|
let node_file = node_files.find(f => f.path.includes(`${platform}-${arch}`));
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (!node_file) {
|
|
35
|
-
throw fail("could not find matching binary addon");
|
|
36
|
-
}
|
|
33
|
+
node_file ??= node_files.find(f => f.path.includes(platform));
|
|
34
|
+
if (node_file === undefined)
|
|
35
|
+
throw E.build_missing_binary_addon();
|
|
37
36
|
const addon_name = node_files[0].name;
|
|
38
37
|
const dest = app.path.build.join("native", addon_name);
|
|
39
38
|
await dest.directory.create();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import fs from "@rcompat/fs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
|
-
const core_pkg = await
|
|
3
|
+
const core_pkg = await fs.project.package(import.meta.dirname);
|
|
4
4
|
const core_root = core_pkg.directory.path;
|
|
5
5
|
const requirer = createRequire(import.meta.url);
|
|
6
6
|
export default function plugin_server_node_imports(_app) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import E from "#errors";
|
|
2
2
|
import wrap from "#route/wrap";
|
|
3
|
-
import
|
|
3
|
+
import fs from "@rcompat/fs";
|
|
4
4
|
const contents = "export default {};";
|
|
5
5
|
export default function plugin_server_route(app) {
|
|
6
6
|
const path_routes = app.path.routes;
|
|
@@ -18,7 +18,7 @@ export default function plugin_server_route(app) {
|
|
|
18
18
|
let file;
|
|
19
19
|
let extension;
|
|
20
20
|
for (const e of extensions) {
|
|
21
|
-
const candidate =
|
|
21
|
+
const candidate = fs.ref(base.path + e);
|
|
22
22
|
if (await candidate.exists()) {
|
|
23
23
|
file = candidate;
|
|
24
24
|
extension = e;
|
|
@@ -26,7 +26,7 @@ export default function plugin_server_route(app) {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
if (!file || !extension) {
|
|
29
|
-
throw
|
|
29
|
+
throw E.build_missing_route(relative, path_routes);
|
|
30
30
|
}
|
|
31
31
|
// normalise "routes/foo.ext" -> "foo" for router
|
|
32
32
|
const relative_from_routes = file.path.split("routes").pop();
|
|
@@ -1,41 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import fs from "@rcompat/fs";
|
|
2
2
|
export default function plugin_server_store(app) {
|
|
3
3
|
return {
|
|
4
4
|
name: "primate/server/store",
|
|
5
5
|
setup(build) {
|
|
6
|
-
build.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import wrap from "primate/database/wrap";
|
|
16
|
-
import schema from "store:${name}";
|
|
17
|
-
export default wrap("${name}", schema, database);
|
|
18
|
-
`,
|
|
19
|
-
loader: "js",
|
|
20
|
-
resolveDir: app.path.stores.path,
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
build.onResolve({ filter: /^store:/ }, async (args) => {
|
|
24
|
-
const name = args.path.slice("store:".length);
|
|
25
|
-
for (const ext of app.extensions) {
|
|
26
|
-
const file = new FileRef(`${app.path.stores.path}/${name}${ext}`);
|
|
27
|
-
if (await file.exists()) {
|
|
28
|
-
// special namespace to bypass auto-wrap
|
|
29
|
-
return { path: file.path, namespace: "primate-store-raw" };
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return null;
|
|
33
|
-
});
|
|
34
|
-
build.onLoad({ filter: /.*/, namespace: "primate-store-raw" }, async (args) => {
|
|
35
|
-
const file = new FileRef(args.path);
|
|
36
|
-
const source = await file.text();
|
|
6
|
+
build.onLoad({ filter: /.*/ }, async (args) => {
|
|
7
|
+
if (args.namespace !== "file")
|
|
8
|
+
return null;
|
|
9
|
+
if (!/\.([tj]s)$/.test(args.path))
|
|
10
|
+
return null;
|
|
11
|
+
const file = fs.ref(args.path);
|
|
12
|
+
const stores_root = app.path.stores.path;
|
|
13
|
+
if (!file.path.startsWith(stores_root + "/"))
|
|
14
|
+
return null;
|
|
37
15
|
return {
|
|
38
|
-
contents:
|
|
16
|
+
contents: await file.text(),
|
|
39
17
|
loader: args.path.endsWith(".ts") ? "ts" : "js",
|
|
40
18
|
resolveDir: file.directory.path,
|
|
41
19
|
watchFiles: [file.path],
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
const jts_re = /\.[jt]s$/;
|
|
1
|
+
import fs from "@rcompat/fs";
|
|
3
2
|
export default function plugin_server_stores(app) {
|
|
4
3
|
const base = app.path.stores;
|
|
5
4
|
return {
|
|
@@ -9,14 +8,18 @@ export default function plugin_server_stores(app) {
|
|
|
9
8
|
return { path: "stores-virtual", namespace: "primate-stores" };
|
|
10
9
|
});
|
|
11
10
|
build.onLoad({ filter: /.*/, namespace: "primate-stores" }, async () => {
|
|
12
|
-
const
|
|
13
|
-
.map(async (path) => `${path}`.replace(base.toString(), _ => "")));
|
|
11
|
+
const files = await base.files({ recursive: true, filter: /\.[jt]s$/ });
|
|
14
12
|
const contents = `
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
const stores = {};
|
|
14
|
+
${files.map((file, i) => {
|
|
15
|
+
const bare = fs.webpath(`${file}`
|
|
16
|
+
.replace(base.toString(), "")
|
|
17
|
+
.replace(/\.[jt]s$/, "").slice(1));
|
|
18
|
+
return `import * as store${i} from "${file}";
|
|
19
|
+
stores["${bare}"] = store${i}.default;`;
|
|
20
|
+
}).join("\n")}
|
|
21
|
+
export default stores;
|
|
22
|
+
`;
|
|
20
23
|
return { contents, loader: "js", resolveDir: app.root.path };
|
|
21
24
|
});
|
|
22
25
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import fs from "@rcompat/fs";
|
|
2
2
|
export default function plugin_server_view(app) {
|
|
3
3
|
return {
|
|
4
4
|
name: "primate/server/view",
|
|
@@ -19,7 +19,7 @@ export default function plugin_server_view(app) {
|
|
|
19
19
|
// couldn't resolve, don't interfere
|
|
20
20
|
if (result.errors.length > 0 || !result.path)
|
|
21
21
|
return null;
|
|
22
|
-
const resolved =
|
|
22
|
+
const resolved = fs.ref(result.path);
|
|
23
23
|
// must live under app.path.views (e.g. app/views/...)
|
|
24
24
|
const views_root = app.path.views.path;
|
|
25
25
|
if (!resolved.path.startsWith(views_root + "/"))
|
|
@@ -40,7 +40,7 @@ export default function plugin_server_view(app) {
|
|
|
40
40
|
build.onResolve({ filter: /^view:/ }, async (args) => {
|
|
41
41
|
const name = args.path.slice("view:".length);
|
|
42
42
|
for (const ext of app.extensions) {
|
|
43
|
-
const file =
|
|
43
|
+
const file = app.path.views.join(`${name}${ext}`);
|
|
44
44
|
if (await file.exists()) {
|
|
45
45
|
return { path: file.path, namespace: "primate-view-original" };
|
|
46
46
|
}
|
|
@@ -48,9 +48,9 @@ export default function plugin_server_view(app) {
|
|
|
48
48
|
return null;
|
|
49
49
|
});
|
|
50
50
|
build.onLoad({ filter: /.*/, namespace: "primate-view-original" }, async (args) => {
|
|
51
|
-
const file =
|
|
51
|
+
const file = fs.ref(args.path);
|
|
52
52
|
const binder = app.binder(file);
|
|
53
|
-
if (
|
|
53
|
+
if (binder === undefined)
|
|
54
54
|
return null;
|
|
55
55
|
const contents = await binder(file, {
|
|
56
56
|
build: { id: app.id },
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import fs from "@rcompat/fs";
|
|
2
2
|
export default function plugin_server_views(app) {
|
|
3
3
|
return {
|
|
4
4
|
name: "primate/server/views",
|
|
@@ -7,15 +7,15 @@ export default function plugin_server_views(app) {
|
|
|
7
7
|
return { path: "views-virtual", namespace: "primate-views" };
|
|
8
8
|
});
|
|
9
9
|
build.onLoad({ filter: /.*/, namespace: "primate-views" }, async () => {
|
|
10
|
-
const files = await app.path.views.
|
|
10
|
+
const files = await app.path.views.files({ recursive: true });
|
|
11
11
|
const roots = Object.keys(app.roots);
|
|
12
12
|
const contents = `
|
|
13
13
|
const view = [];
|
|
14
14
|
${files.map((file, i) => {
|
|
15
15
|
const path = app.basename(file, app.path.views);
|
|
16
16
|
return `
|
|
17
|
-
import * as view${i} from "${
|
|
18
|
-
view.push(["${
|
|
17
|
+
import * as view${i} from "${fs.webpath(`view:${path}`)}";
|
|
18
|
+
view.push(["${fs.webpath(path)}", view${i}]);`;
|
|
19
19
|
}).join("\n")}
|
|
20
20
|
|
|
21
21
|
${roots.map((filename, i) => `
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
const core_pkg = await
|
|
3
|
-
const core_root = core_pkg.directory;
|
|
1
|
+
import fs from "@rcompat/fs";
|
|
2
|
+
const core_pkg = await fs.project.root(import.meta.dirname);
|
|
4
3
|
export default function plugin_server_virtual_pages(app) {
|
|
5
4
|
return {
|
|
6
5
|
name: "primate/server/virtual/pages",
|
|
@@ -9,15 +8,16 @@ export default function plugin_server_virtual_pages(app) {
|
|
|
9
8
|
return { path: "pages-virtual", namespace: "primate-pages" };
|
|
10
9
|
});
|
|
11
10
|
build.onLoad({ filter: /.*/, namespace: "primate-pages" }, async () => {
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const defaults = core_root.join("lib", "private", "defaults");
|
|
11
|
+
const filter = /^.*\.html$/ui;
|
|
12
|
+
const defaults = core_pkg.join("lib", "private", "defaults");
|
|
15
13
|
const pages = {};
|
|
16
|
-
for (const file of await defaults.
|
|
14
|
+
for (const file of await defaults.files({ filter })) {
|
|
17
15
|
pages[file.name] = file;
|
|
16
|
+
}
|
|
18
17
|
if (await app.path.pages.exists()) {
|
|
19
|
-
for (const file of await app.path.pages.
|
|
18
|
+
for (const file of await app.path.pages.files({ filter })) {
|
|
20
19
|
pages[file.name] = file;
|
|
20
|
+
}
|
|
21
21
|
}
|
|
22
22
|
const entries = await Promise.all(Object.entries(pages).map(async ([name, file]) => {
|
|
23
23
|
const text = await file.text();
|
|
@@ -11,18 +11,10 @@ export default function plugin_server_virtual_routes(app) {
|
|
|
11
11
|
return { path: "routes-virtual", namespace: "primate-routes" };
|
|
12
12
|
});
|
|
13
13
|
build.onLoad({ filter: /.*/, namespace: "primate-routes" }, async () => {
|
|
14
|
-
const route_files = await routes_path.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const entries = await dir.list();
|
|
19
|
-
for (const entry of entries) {
|
|
20
|
-
if (await entry.isDirectory()) {
|
|
21
|
-
await findDirs(entry);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
await findDirs(app.path.routes);
|
|
14
|
+
const route_files = await routes_path.files({
|
|
15
|
+
filter: is_route_file,
|
|
16
|
+
recursive: true,
|
|
17
|
+
});
|
|
26
18
|
const contents = `
|
|
27
19
|
const route = [];
|
|
28
20
|
${route_files.map((file, i) => {
|
|
@@ -32,11 +24,14 @@ export default function plugin_server_virtual_routes(app) {
|
|
|
32
24
|
}).join("\n")}
|
|
33
25
|
export default route;
|
|
34
26
|
`;
|
|
27
|
+
const watchDirs = (await app.path.routes.dirs({
|
|
28
|
+
recursive: true,
|
|
29
|
+
})).map(f => f.toString());
|
|
35
30
|
return {
|
|
36
31
|
contents,
|
|
37
32
|
loader: "js",
|
|
38
33
|
resolveDir: app.root.path,
|
|
39
|
-
watchDirs
|
|
34
|
+
watchDirs,
|
|
40
35
|
watchFiles: route_files.map(f => f.path),
|
|
41
36
|
};
|
|
42
37
|
});
|
|
@@ -22,9 +22,8 @@ export default function plugin_server_wasm(app) {
|
|
|
22
22
|
const wasm_file = app.runpath("wasm", args.path + ".wasm");
|
|
23
23
|
return {
|
|
24
24
|
contents: `
|
|
25
|
-
import
|
|
26
|
-
|
|
27
|
-
export default await file.bytes();
|
|
25
|
+
import fs from "@rcompat/fs";
|
|
26
|
+
export default await fs.ref("${wasm_file.path}").bytes();
|
|
28
27
|
`,
|
|
29
28
|
loader: "js",
|
|
30
29
|
resolveDir: app.root.path,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default function plugin_shared_app_request(app) {
|
|
2
|
+
return {
|
|
3
|
+
name: "primate/shared/app/request",
|
|
4
|
+
setup(build) {
|
|
5
|
+
build.onResolve({ filter: /^app:/ }, ({ path, importer }) => {
|
|
6
|
+
const framework = path.slice(4);
|
|
7
|
+
const exts = app.frontends.get(framework);
|
|
8
|
+
return exts?.some(ext => importer.endsWith(ext))
|
|
9
|
+
? { namespace: "app-frontend", path: framework }
|
|
10
|
+
: undefined;
|
|
11
|
+
});
|
|
12
|
+
build.onLoad({ filter: /.*/, namespace: "app-frontend" }, async ({ path }) => {
|
|
13
|
+
const contents = `export * from "@primate/${path}/app";`;
|
|
14
|
+
return { contents, resolveDir: app.root.path };
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=app-request.js.map
|
package/lib/private/bye.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import yellow from "@rcompat/cli/color/yellow";
|
|
1
|
+
import color from "@rcompat/cli/color";
|
|
3
2
|
import print from "@rcompat/cli/print";
|
|
4
|
-
export default () => print(dim(yellow("~~ bye\n")));
|
|
3
|
+
export default () => print(color.dim(color.yellow("~~ bye\n")));
|
|
5
4
|
//# sourceMappingURL=bye.js.map
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type Dict from "@rcompat/type/Dict";
|
|
2
1
|
import type Mode from "#Mode";
|
|
2
|
+
import type RequestView from "#request/RequestView";
|
|
3
|
+
import type { Dict } from "@rcompat/type";
|
|
3
4
|
type ClientData<T extends Dict = Dict> = {
|
|
4
5
|
view: string;
|
|
5
|
-
request:
|
|
6
|
+
request: RequestView;
|
|
6
7
|
spa: boolean;
|
|
7
8
|
ssr: boolean;
|
|
8
9
|
mode: Mode;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Dict, MaybePromise } from "@rcompat/type";
|
|
2
|
+
type Render<V = unknown> = (view: V, props: Dict) => MaybePromise<{
|
|
3
|
+
body: string;
|
|
4
|
+
head?: string;
|
|
5
|
+
headers?: Dict<string>;
|
|
6
|
+
}>;
|
|
7
|
+
export type { Render as default };
|
|
8
|
+
//# sourceMappingURL=Render.d.ts.map
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type Dict from "@rcompat/type
|
|
2
|
-
import type JSONPointer from "@rcompat/type/JSONPointer";
|
|
3
|
-
import type JSONValue from "@rcompat/type/JSONValue";
|
|
1
|
+
import type { Dict, JSONPointer, JSONValue } from "@rcompat/type";
|
|
4
2
|
type ValidateInit<T> = {
|
|
5
3
|
headers?: Dict<string>;
|
|
6
4
|
initial: T;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type ViewOptions from "#
|
|
1
|
+
import type ViewOptions from "#client/ViewOptions";
|
|
2
2
|
import type ResponseFunction from "#response/ResponseFunction";
|
|
3
|
-
import type Dict from "@rcompat/type
|
|
3
|
+
import type { Dict } from "@rcompat/type";
|
|
4
4
|
type View = (name: string, props?: Dict, options?: ViewOptions) => ResponseFunction;
|
|
5
5
|
export { View as default };
|
|
6
6
|
//# sourceMappingURL=ViewResponse.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @ts-expect-error esbuild vfs
|
|
2
2
|
import stamp from "server:stamp";
|
|
3
|
-
|
|
3
|
+
// @ts-expect-error esbuild vfs
|
|
4
|
+
(0, () => stamp)();
|
|
4
5
|
// @ts-expect-error esbuild vfs
|
|
5
6
|
import * as frontends from "app:frontends";
|
|
6
7
|
class ClientApp {
|
|
@@ -12,6 +13,5 @@ class ClientApp {
|
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
app.start();
|
|
16
|
+
new ClientApp().start();
|
|
17
17
|
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import navigate from "#client/navigate";
|
|
2
|
+
import root from "#client/root";
|
|
3
|
+
import storage from "#client/storage";
|
|
4
|
+
import submit from "#client/submit";
|
|
5
|
+
import { MIME } from "@rcompat/http";
|
|
6
|
+
export default (u) => {
|
|
7
|
+
root.set(u);
|
|
8
|
+
const { location, history } = globalThis;
|
|
9
|
+
if (document.contentType === "application/json") {
|
|
10
|
+
location.reload();
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
globalThis.addEventListener("pageshow", event => {
|
|
14
|
+
if (event.persisted)
|
|
15
|
+
location.reload();
|
|
16
|
+
});
|
|
17
|
+
globalThis.addEventListener("load", _ => {
|
|
18
|
+
history.scrollRestoration = "manual";
|
|
19
|
+
if (location.hash !== "")
|
|
20
|
+
navigate.scroll_hash(location.hash);
|
|
21
|
+
});
|
|
22
|
+
globalThis.addEventListener("beforeunload", _ => {
|
|
23
|
+
history.scrollRestoration = "auto";
|
|
24
|
+
});
|
|
25
|
+
globalThis.addEventListener("popstate", () => {
|
|
26
|
+
const state = storage.peek() ?? { scrollTop: 0 };
|
|
27
|
+
const { pathname } = location;
|
|
28
|
+
let { scrollTop } = state;
|
|
29
|
+
if (state.stop) {
|
|
30
|
+
storage.back();
|
|
31
|
+
state.hash
|
|
32
|
+
? navigate.scroll_hash(state.hash)
|
|
33
|
+
: globalThis.scrollTo(0, state.scrollTop);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const back = state.pathname === pathname;
|
|
37
|
+
back ? storage.back() : (scrollTop = storage.forward().scrollTop);
|
|
38
|
+
navigate.goto(globalThis.location, false, () => globalThis.scrollTo(0, scrollTop ?? 0));
|
|
39
|
+
});
|
|
40
|
+
globalThis.addEventListener("click", event => {
|
|
41
|
+
const target = event.target.closest("a");
|
|
42
|
+
if (target?.tagName === "A" && target.href !== "") {
|
|
43
|
+
navigate.go(target.href, event);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
globalThis.addEventListener("submit", async (event) => {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
const target = event.target;
|
|
49
|
+
const { enctype } = target;
|
|
50
|
+
const action = target.action ?? location.pathname;
|
|
51
|
+
const url = new URL(action);
|
|
52
|
+
const data = new FormData(target);
|
|
53
|
+
const form = enctype === MIME.MULTIPART_FORM_DATA
|
|
54
|
+
? data
|
|
55
|
+
: new URLSearchParams(data);
|
|
56
|
+
try {
|
|
57
|
+
await submit(url.pathname, form, target.method);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.warn(error);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=boot.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Dict } from "@rcompat/type";
|
|
2
|
+
type FormId = string;
|
|
3
|
+
type FieldErrors = readonly string[];
|
|
4
|
+
type FormErrors = {
|
|
5
|
+
form: FieldErrors;
|
|
6
|
+
fields: Dict<FieldErrors>;
|
|
7
|
+
};
|
|
8
|
+
type FormSnapshot = {
|
|
9
|
+
id: FormId;
|
|
10
|
+
submitting: boolean;
|
|
11
|
+
submitted: boolean;
|
|
12
|
+
errors: FormErrors;
|
|
13
|
+
};
|
|
14
|
+
export type FormView = FormSnapshot & {
|
|
15
|
+
submit: (event?: Event) => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
type FormSubscriber = (snapshot: FormSnapshot) => void;
|
|
18
|
+
export type FormInit = {
|
|
19
|
+
id?: string;
|
|
20
|
+
method?: "POST" | "PUT" | "PATCH" | "DELETE";
|
|
21
|
+
url?: string;
|
|
22
|
+
headers?: Dict<string>;
|
|
23
|
+
};
|
|
24
|
+
type FormController = {
|
|
25
|
+
subscribe(fn: FormSubscriber): () => void;
|
|
26
|
+
read(): FormSnapshot;
|
|
27
|
+
submit(event?: Event): Promise<void>;
|
|
28
|
+
get id(): FormId;
|
|
29
|
+
};
|
|
30
|
+
export default function createForm(init: FormInit): FormController;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=create-form.d.ts.map
|