@lytjs/core 5.0.1 → 6.0.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.
Files changed (44) hide show
  1. package/README.md +328 -288
  2. package/dist/index.cjs +3482 -1
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +1473 -0
  5. package/dist/index.d.ts +1473 -0
  6. package/dist/index.mjs +3342 -1
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +43 -57
  9. package/dist/error-entry.cjs +0 -1
  10. package/dist/error-entry.mjs +0 -1
  11. package/dist/plugin-entry.cjs +0 -1
  12. package/dist/plugin-entry.mjs +0 -1
  13. package/dist/shared-entry.cjs +0 -1
  14. package/dist/shared-entry.mjs +0 -1
  15. package/dist/types/create-app.d.ts +0 -161
  16. package/dist/types/create-app.d.ts.map +0 -1
  17. package/dist/types/dev-error.d.ts +0 -32
  18. package/dist/types/dev-error.d.ts.map +0 -1
  19. package/dist/types/error-codes.d.ts +0 -8
  20. package/dist/types/error-codes.d.ts.map +0 -1
  21. package/dist/types/error-entry.d.ts +0 -14
  22. package/dist/types/error-entry.d.ts.map +0 -1
  23. package/dist/types/error-handling.d.ts +0 -264
  24. package/dist/types/error-handling.d.ts.map +0 -1
  25. package/dist/types/h.d.ts +0 -96
  26. package/dist/types/h.d.ts.map +0 -1
  27. package/dist/types/index.d.ts +0 -13
  28. package/dist/types/index.d.ts.map +0 -1
  29. package/dist/types/lyt-error.d.ts +0 -8
  30. package/dist/types/lyt-error.d.ts.map +0 -1
  31. package/dist/types/plugin-entry.d.ts +0 -9
  32. package/dist/types/plugin-entry.d.ts.map +0 -1
  33. package/dist/types/plugin.d.ts +0 -119
  34. package/dist/types/plugin.d.ts.map +0 -1
  35. package/dist/types/shared-entry.d.ts +0 -8
  36. package/dist/types/shared-entry.d.ts.map +0 -1
  37. package/dist/types/warn.d.ts +0 -8
  38. package/dist/types/warn.d.ts.map +0 -1
  39. package/dist/types/web-component-entry.d.ts +0 -9
  40. package/dist/types/web-component-entry.d.ts.map +0 -1
  41. package/dist/types/web-component.d.ts +0 -251
  42. package/dist/types/web-component.d.ts.map +0 -1
  43. package/dist/web-component-entry.cjs +0 -2
  44. package/dist/web-component-entry.mjs +0 -2
package/package.json CHANGED
@@ -1,77 +1,63 @@
1
1
  {
2
2
  "name": "@lytjs/core",
3
- "version": "5.0.1",
4
- "description": "Lyt.js 核心入口 - 整合响应式、编译器、虚拟 DOM、渲染器和组件系统",
3
+ "version": "6.0.0",
4
+ "description": "LytJS core - createApp, h, defineComponent, and plugin system",
5
+ "type": "module",
5
6
  "main": "./dist/index.cjs",
6
7
  "module": "./dist/index.mjs",
7
- "types": "./dist/types/index.d.ts",
8
+ "types": "./dist/index.d.ts",
8
9
  "exports": {
9
10
  ".": {
10
- "types": "./dist/types/index.d.ts",
11
+ "types": "./dist/index.d.ts",
11
12
  "import": "./dist/index.mjs",
12
- "require": "./dist/index.cjs",
13
- "default": "./dist/index.mjs"
14
- },
15
- "./plugin": {
16
- "types": "./dist/types/plugin-entry.d.ts",
17
- "import": "./dist/plugin-entry.mjs",
18
- "require": "./dist/plugin-entry.cjs",
19
- "default": "./dist/plugin-entry.mjs"
20
- },
21
- "./error": {
22
- "types": "./dist/types/error-entry.d.ts",
23
- "import": "./dist/error-entry.mjs",
24
- "require": "./dist/error-entry.cjs",
25
- "default": "./dist/error-entry.mjs"
26
- },
27
- "./web-component": {
28
- "types": "./dist/types/web-component-entry.d.ts",
29
- "import": "./dist/web-component-entry.mjs",
30
- "require": "./dist/web-component-entry.cjs",
31
- "default": "./dist/web-component-entry.mjs"
32
- },
33
- "./shared": {
34
- "types": "./dist/types/shared-entry.d.ts",
35
- "import": "./dist/shared-entry.mjs",
36
- "require": "./dist/shared-entry.cjs",
37
- "default": "./dist/shared-entry.mjs"
13
+ "require": "./dist/index.cjs"
38
14
  }
39
15
  },
40
- "sideEffects": false,
41
16
  "files": [
42
17
  "dist"
43
18
  ],
19
+ "sideEffects": false,
20
+ "scripts": {
21
+ "build": "tsup",
22
+ "dev": "tsup --watch",
23
+ "test": "vitest run",
24
+ "test:watch": "vitest",
25
+ "test:coverage": "vitest run --coverage",
26
+ "type-check": "tsc --noEmit",
27
+ "lint": "eslint \"src/**/*.ts\" \"tests/**/*.ts\"",
28
+ "clean": "rm -rf dist"
29
+ },
30
+ "dependencies": {
31
+ "@lytjs/shared-types": "^6.0.0",
32
+ "@lytjs/reactivity": "^6.0.0",
33
+ "@lytjs/vdom": "^6.0.0",
34
+ "@lytjs/compiler": "^6.0.0",
35
+ "@lytjs/renderer": "^6.0.0",
36
+ "@lytjs/component": "^6.0.0",
37
+ "@lytjs/common-is": "^6.0.0",
38
+ "@lytjs/common-string": "^6.0.0",
39
+ "@lytjs/common-scheduler": "^6.0.0",
40
+ "@lytjs/common-error": "^6.0.0",
41
+ "@lytjs/common-object": "^6.0.0"
42
+ },
43
+ "devDependencies": {
44
+ "tsup": "^8.0.0",
45
+ "typescript": "^5.4.0",
46
+ "vitest": "^1.6.0",
47
+ "jsdom": "^24.0.0"
48
+ },
44
49
  "license": "MIT",
45
- "author": "lytjs",
46
50
  "repository": {
47
51
  "type": "git",
48
- "url": "https://gitee.com/lytjs/lytjs"
52
+ "url": "https://gitee.com/lytjs/lytjs.git",
53
+ "directory": "packages/core"
49
54
  },
50
- "homepage": "https://gitee.com/lytjs/lytjs",
51
55
  "keywords": [
52
- "lyt",
53
56
  "lytjs",
54
- "javascript",
55
- "framework",
56
- "frontend",
57
- "vue-like",
58
- "lightweight",
59
- "zero-dependency",
60
57
  "core",
61
- "createApp"
62
- ],
63
- "dependencies": {
64
- "@lytjs/common": "^5.0.1",
65
- "@lytjs/reactivity": "^5.0.1",
66
- "@lytjs/compiler": "^5.0.1",
67
- "@lytjs/vdom": "^5.0.1",
68
- "@lytjs/renderer": "^5.0.1",
69
- "@lytjs/component": "^5.0.1"
70
- },
71
- "engines": {
72
- "node": ">=18.0.0"
73
- },
74
- "publishConfig": {
75
- "access": "public"
76
- }
58
+ "createApp",
59
+ "h",
60
+ "defineComponent",
61
+ "plugin"
62
+ ]
77
63
  }
@@ -1 +0,0 @@
1
- "use strict";var e=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var h=(E,T)=>{for(var O in T)e(E,O,{get:T[O],enumerable:!0})},G=(E,T,O,a)=>{if(T&&typeof T=="object"||typeof T=="function")for(let N of g(T))!m.call(E,N)&&N!==O&&e(E,N,{get:()=>T[N],enumerable:!(a=u(T,N))||a.enumerable});return E};var v=E=>G(e({},"__esModule",{value:!0}),E);var x={};h(x,{ErrorBoundary:()=>A,ErrorCategory:()=>n.ErrorCategory,LytError:()=>R.LytError,LytErrorCodes:()=>D,callWithErrorHandling:()=>f,callWithErrorHandlingAsync:()=>F,createCompilerError:()=>I.createCompilerError,createComponentError:()=>I.createComponentError,createMessage:()=>U,createRendererError:()=>I.createRendererError,getCategory:()=>n.getCategory,getDevMode:()=>V,getErrorMessage:()=>n.getErrorMessage,handleError:()=>L,resetWarnedMessages:()=>p,setDevMode:()=>l,warn:()=>S,warnOnce:()=>t,warnOnceUtil:()=>t,warnUtil:()=>S});module.exports=v(x);var R=require("@lytjs/common");var D=(_=>(_[_.INVALID_ARGUMENT=1001]="INVALID_ARGUMENT",_[_.NOT_FOUND=1002]="NOT_FOUND",_[_.ALREADY_EXISTS=1003]="ALREADY_EXISTS",_[_.OPERATION_FAILED=1004]="OPERATION_FAILED",_[_.REACTIVE_READONLY=2001]="REACTIVE_READONLY",_[_.REACTIVE_EFFECT_DISPOSED=2002]="REACTIVE_EFFECT_DISPOSED",_[_.COMPUTED_CYCLE=2003]="COMPUTED_CYCLE",_[_.PARSE_ERROR=3001]="PARSE_ERROR",_[_.INVALID_EXPRESSION=3002]="INVALID_EXPRESSION",_[_.INVALID_DIRECTIVE=3003]="INVALID_DIRECTIVE",_[_.INVALID_TEMPLATE=3004]="INVALID_TEMPLATE",_[_.RENDER_ERROR=4001]="RENDER_ERROR",_[_.HYDRATION_MISMATCH=4002]="HYDRATION_MISMATCH",_[_.INVALID_VNODE=4003]="INVALID_VNODE",_[_.COMPONENT_INVALID_PROPS=5001]="COMPONENT_INVALID_PROPS",_[_.COMPONENT_MISSING_TEMPLATE=5002]="COMPONENT_MISSING_TEMPLATE",_[_.COMPONENT_LIFECYCLE_ERROR=5003]="COMPONENT_LIFECYCLE_ERROR",_[_.ROUTE_NOT_FOUND=6001]="ROUTE_NOT_FOUND",_[_.ROUTE_DUPLICATE=6002]="ROUTE_DUPLICATE",_[_.NAVIGATION_ABORTED=6003]="NAVIGATION_ABORTED",_[_.NAVIGATION_FAILED=6004]="NAVIGATION_FAILED",_[_.STORE_NOT_FOUND=7001]="STORE_NOT_FOUND",_[_.STORE_DUPLICATE=7002]="STORE_DUPLICATE",_[_.LYT_COMPILER_PARSE_ERROR=R.LytErrorCodes.LYT_COMPILER_PARSE_ERROR]="LYT_COMPILER_PARSE_ERROR",_[_.LYT_COMPILER_INVALID_EXPRESSION=R.LytErrorCodes.LYT_COMPILER_INVALID_EXPRESSION]="LYT_COMPILER_INVALID_EXPRESSION",_[_.LYT_COMPILER_INVALID_TEMPLATE=R.LytErrorCodes.LYT_COMPILER_INVALID_TEMPLATE]="LYT_COMPILER_INVALID_TEMPLATE",_[_.LYT_COMPILER_INVALID_DIRECTIVE=R.LytErrorCodes.LYT_COMPILER_INVALID_DIRECTIVE]="LYT_COMPILER_INVALID_DIRECTIVE",_[_.LYT_COMPILER_CODEGEN_ERROR=R.LytErrorCodes.LYT_COMPILER_CODEGEN_ERROR]="LYT_COMPILER_CODEGEN_ERROR",_[_.LYT_COMPILER_SFC_PARSE_ERROR=R.LytErrorCodes.LYT_COMPILER_SFC_PARSE_ERROR]="LYT_COMPILER_SFC_PARSE_ERROR",_[_.LYT_COMPILER_TRANSFORM_ERROR=R.LytErrorCodes.LYT_COMPILER_TRANSFORM_ERROR]="LYT_COMPILER_TRANSFORM_ERROR",_[_.LYT_RENDERER_MOUNT_FAILED=R.LytErrorCodes.LYT_RENDERER_MOUNT_FAILED]="LYT_RENDERER_MOUNT_FAILED",_[_.LYT_RENDERER_PATCH_FAILED=R.LytErrorCodes.LYT_RENDERER_PATCH_FAILED]="LYT_RENDERER_PATCH_FAILED",_[_.LYT_RENDERER_HYDRATION_MISMATCH=R.LytErrorCodes.LYT_RENDERER_HYDRATION_MISMATCH]="LYT_RENDERER_HYDRATION_MISMATCH",_[_.LYT_RENDERER_INVALID_VNODE=R.LytErrorCodes.LYT_RENDERER_INVALID_VNODE]="LYT_RENDERER_INVALID_VNODE",_[_.LYT_RENDERER_UNMOUNT_FAILED=R.LytErrorCodes.LYT_RENDERER_UNMOUNT_FAILED]="LYT_RENDERER_UNMOUNT_FAILED",_[_.LYT_COMPONENT_INVALID_PROPS=R.LytErrorCodes.LYT_COMPONENT_INVALID_PROPS]="LYT_COMPONENT_INVALID_PROPS",_[_.LYT_COMPONENT_MISSING_RENDER=R.LytErrorCodes.LYT_COMPONENT_MISSING_RENDER]="LYT_COMPONENT_MISSING_RENDER",_[_.LYT_COMPONENT_LIFECYCLE_ERROR=R.LytErrorCodes.LYT_COMPONENT_LIFECYCLE_ERROR]="LYT_COMPONENT_LIFECYCLE_ERROR",_[_.LYT_COMPONENT_INVALID=R.LytErrorCodes.LYT_COMPONENT_INVALID]="LYT_COMPONENT_INVALID",_[_.LYT_COMPONENT_EMIT_INVALID=R.LytErrorCodes.LYT_COMPONENT_EMIT_INVALID]="LYT_COMPONENT_EMIT_INVALID",_[_.LYT_COMPONENT_RENDER_ERROR=R.LytErrorCodes.LYT_COMPONENT_RENDER_ERROR]="LYT_COMPONENT_RENDER_ERROR",_[_.LYT_ROUTER_INVALID_ROUTE=R.LytErrorCodes.LYT_ROUTER_INVALID_ROUTE]="LYT_ROUTER_INVALID_ROUTE",_[_.LYT_ROUTER_NAVIGATION_FAILED=R.LytErrorCodes.LYT_ROUTER_NAVIGATION_FAILED]="LYT_ROUTER_NAVIGATION_FAILED",_[_.LYT_ROUTER_DUPLICATE_ROUTE=R.LytErrorCodes.LYT_ROUTER_DUPLICATE_ROUTE]="LYT_ROUTER_DUPLICATE_ROUTE",_[_.LYT_ROUTER_NAVIGATION_ABORTED=R.LytErrorCodes.LYT_ROUTER_NAVIGATION_ABORTED]="LYT_ROUTER_NAVIGATION_ABORTED",_[_.LYT_ROUTER_GUARD_ERROR=R.LytErrorCodes.LYT_ROUTER_GUARD_ERROR]="LYT_ROUTER_GUARD_ERROR",_[_.LYT_STORE_ALREADY_EXISTS=R.LytErrorCodes.LYT_STORE_ALREADY_EXISTS]="LYT_STORE_ALREADY_EXISTS",_[_.LYT_STORE_NOT_FOUND=R.LytErrorCodes.LYT_STORE_NOT_FOUND]="LYT_STORE_NOT_FOUND",_[_.LYT_STORE_DISPOSED=R.LytErrorCodes.LYT_STORE_DISPOSED]="LYT_STORE_DISPOSED",_[_.LYT_STORE_PATCH_ERROR=R.LytErrorCodes.LYT_STORE_PATCH_ERROR]="LYT_STORE_PATCH_ERROR",_[_.LYT_REACTIVITY_READONLY_SET=R.LytErrorCodes.LYT_REACTIVITY_READONLY_SET]="LYT_REACTIVITY_READONLY_SET",_[_.LYT_REACTIVITY_READONLY_DELETE=R.LytErrorCodes.LYT_REACTIVITY_READONLY_DELETE]="LYT_REACTIVITY_READONLY_DELETE",_[_.LYT_REACTIVITY_EFFECT_ERROR=R.LytErrorCodes.LYT_REACTIVITY_EFFECT_ERROR]="LYT_REACTIVITY_EFFECT_ERROR",_[_.LYT_REACTIVITY_COMPUTED_CYCLE=R.LytErrorCodes.LYT_REACTIVITY_COMPUTED_CYCLE]="LYT_REACTIVITY_COMPUTED_CYCLE",_[_.LYT_REACTIVITY_EFFECT_DISPOSED=R.LytErrorCodes.LYT_REACTIVITY_EFFECT_DISPOSED]="LYT_REACTIVITY_EFFECT_DISPOSED",_[_.LYT_REACTIVITY_CIRCULAR_DEPENDENCY=R.LytErrorCodes.LYT_REACTIVITY_CIRCULAR_DEPENDENCY]="LYT_REACTIVITY_CIRCULAR_DEPENDENCY",_[_.LYT_REACTIVITY_SIGNAL_DISPOSED=R.LytErrorCodes.LYT_REACTIVITY_SIGNAL_DISPOSED]="LYT_REACTIVITY_SIGNAL_DISPOSED",_[_.LYT_CORE_PLUGIN_ERROR=R.LytErrorCodes.LYT_CORE_PLUGIN_ERROR]="LYT_CORE_PLUGIN_ERROR",_[_.LYT_CORE_MOUNT_NO_CONTAINER=R.LytErrorCodes.LYT_CORE_MOUNT_NO_CONTAINER]="LYT_CORE_MOUNT_NO_CONTAINER",_[_.LYT_CORE_ALREADY_MOUNTED=R.LytErrorCodes.LYT_CORE_ALREADY_MOUNTED]="LYT_CORE_ALREADY_MOUNTED",_[_.LYT_CORE_INVALID_ARGUMENT=R.LytErrorCodes.LYT_CORE_INVALID_ARGUMENT]="LYT_CORE_INVALID_ARGUMENT",_[_.LYT_CORE_NOT_FOUND=R.LytErrorCodes.LYT_CORE_NOT_FOUND]="LYT_CORE_NOT_FOUND",_[_.LYT_CORE_ALREADY_EXISTS=R.LytErrorCodes.LYT_CORE_ALREADY_EXISTS]="LYT_CORE_ALREADY_EXISTS",_[_.LYT_CORE_OPERATION_FAILED=R.LytErrorCodes.LYT_CORE_OPERATION_FAILED]="LYT_CORE_OPERATION_FAILED",_[_.LYT_CLI_SCAFFOLD_FAILED=R.LytErrorCodes.LYT_CLI_SCAFFOLD_FAILED]="LYT_CLI_SCAFFOLD_FAILED",_[_.LYT_CLI_BUILD_FAILED=R.LytErrorCodes.LYT_CLI_BUILD_FAILED]="LYT_CLI_BUILD_FAILED",_[_.LYT_CLI_DEV_SERVER_ERROR=R.LytErrorCodes.LYT_CLI_DEV_SERVER_ERROR]="LYT_CLI_DEV_SERVER_ERROR",_[_.LYT_CLI_CONFIG_INVALID=R.LytErrorCodes.LYT_CLI_CONFIG_INVALID]="LYT_CLI_CONFIG_INVALID",_[_.LYT_CLI_HMR_CONNECTION_FAILED=R.LytErrorCodes.LYT_CLI_HMR_CONNECTION_FAILED]="LYT_CLI_HMR_CONNECTION_FAILED",_[_.LYT_DEVTOOLS_CONNECTION_FAILED=R.LytErrorCodes.LYT_DEVTOOLS_CONNECTION_FAILED]="LYT_DEVTOOLS_CONNECTION_FAILED",_[_.LYT_DEVTOOLS_PANEL_ERROR=R.LytErrorCodes.LYT_DEVTOOLS_PANEL_ERROR]="LYT_DEVTOOLS_PANEL_ERROR",_[_.LYT_DEVTOOLS_PERF_OVERFLOW=R.LytErrorCodes.LYT_DEVTOOLS_PERF_OVERFLOW]="LYT_DEVTOOLS_PERF_OVERFLOW",_[_.LYT_DEVTOOLS_COMPONENT_TREE_ERROR=R.LytErrorCodes.LYT_DEVTOOLS_COMPONENT_TREE_ERROR]="LYT_DEVTOOLS_COMPONENT_TREE_ERROR",_[_.LYT_PLUGIN_INSTALL_FAILED=R.LytErrorCodes.LYT_PLUGIN_INSTALL_FAILED]="LYT_PLUGIN_INSTALL_FAILED",_[_.LYT_PLUGIN_ALREADY_INSTALLED=R.LytErrorCodes.LYT_PLUGIN_ALREADY_INSTALLED]="LYT_PLUGIN_ALREADY_INSTALLED",_[_.LYT_PLUGIN_INVALID=R.LytErrorCodes.LYT_PLUGIN_INVALID]="LYT_PLUGIN_INVALID",_[_.LYT_PLUGIN_UNINSTALL_FAILED=R.LytErrorCodes.LYT_PLUGIN_UNINSTALL_FAILED]="LYT_PLUGIN_UNINSTALL_FAILED",_[_.LYT_RENDERER_VAPOR_ERROR=R.LytErrorCodes.LYT_RENDERER_VAPOR_ERROR]="LYT_RENDERER_VAPOR_ERROR",_[_.LYT_RENDERER_VAPOR_COMPILER_ERROR=R.LytErrorCodes.LYT_RENDERER_VAPOR_COMPILER_ERROR]="LYT_RENDERER_VAPOR_COMPILER_ERROR",_[_.LYT_RENDERER_VAPOR_COMPONENT_ERROR=R.LytErrorCodes.LYT_RENDERER_VAPOR_COMPONENT_ERROR]="LYT_RENDERER_VAPOR_COMPONENT_ERROR",_[_.LYT_SSR_STREAM_ERROR=R.LytErrorCodes.LYT_SSR_STREAM_ERROR]="LYT_SSR_STREAM_ERROR",_[_.LYT_SSR_SUSPENSE_TIMEOUT=R.LytErrorCodes.LYT_SSR_SUSPENSE_TIMEOUT]="LYT_SSR_SUSPENSE_TIMEOUT",_[_.LYT_SSR_HYDRATION_ERROR=R.LytErrorCodes.LYT_SSR_HYDRATION_ERROR]="LYT_SSR_HYDRATION_ERROR",_[_.LYT_SSR_ISLAND_ERROR=R.LytErrorCodes.LYT_SSR_ISLAND_ERROR]="LYT_SSR_ISLAND_ERROR",_))(D||{});var i=class i{constructor(T){this.errors=[],this.options=T||{},this._hasError=!1}get hasError(){return this._hasError}static setGlobalHandler(T){i.globalHandler=T}capture(T,O,a){var c;let N={error:T,vm:O,info:a||"",timestamp:Date.now()};this.errors.push(N),this._hasError=!0;let M=(c=this.options.maxErrors)!=null?c:100;this.errors.length>M&&this.errors.splice(0,this.errors.length-M),!(this.options.onErrorCaptured&&this.options.onErrorCaptured(T instanceof R.LytError?T:new R.LytError(D.LYT_CORE_OPERATION_FAILED,T.message),O,N.info)===!0)&&this.options.onError&&this.options.onError(T instanceof R.LytError?T:new R.LytError(D.LYT_CORE_OPERATION_FAILED,T.message),O)}getFallback(T){if(!this.options.fallback||this.errors.length===0)return null;let O=this.errors[this.errors.length-1];return this.options.fallback(O.error,O.vm,O.info)}getErrors(){return this.errors.slice()}getErrorCount(){return this.errors.length}getLastErrors(){return this.errors.length===0?null:{...this.errors[this.errors.length-1]}}clear(){this.errors=[],this._hasError=!1}};i.globalHandler=null;var A=i,Y=!0,P=new Set;function l(E){Y=E}function V(){return Y}function S(E){if(!Y)return;let T=console.warn;typeof T=="function"&&T(`[Lyt warn] ${E}`)}function t(E){if(!Y||P.has(E))return;P.add(E);let T=console.warn;typeof T=="function"&&T(`[Lyt warn] ${E}`)}function p(){P.clear()}function U(E,...T){let O=(0,R.getErrorMessage)(E);return`[Lyt ${E}] ${O}`}function L(E,T,O){A.globalHandler&&A.globalHandler(E,T,O||""),Y?E instanceof R.LytError&&E.details:typeof reportError=="function"&&reportError(E)}function f(E,T){try{return E()}catch(O){L(O instanceof Error?O:new Error(String(O)),T);return}}async function F(E,T){try{return await E()}catch(O){L(O instanceof Error?O:new Error(String(O)),T);return}}var n=require("@lytjs/common");var I=require("@lytjs/common");
@@ -1 +0,0 @@
1
- import{LytError as n,LytErrorCodes as R,getErrorMessage as M}from"@lytjs/common";var A=(_=>(_[_.INVALID_ARGUMENT=1001]="INVALID_ARGUMENT",_[_.NOT_FOUND=1002]="NOT_FOUND",_[_.ALREADY_EXISTS=1003]="ALREADY_EXISTS",_[_.OPERATION_FAILED=1004]="OPERATION_FAILED",_[_.REACTIVE_READONLY=2001]="REACTIVE_READONLY",_[_.REACTIVE_EFFECT_DISPOSED=2002]="REACTIVE_EFFECT_DISPOSED",_[_.COMPUTED_CYCLE=2003]="COMPUTED_CYCLE",_[_.PARSE_ERROR=3001]="PARSE_ERROR",_[_.INVALID_EXPRESSION=3002]="INVALID_EXPRESSION",_[_.INVALID_DIRECTIVE=3003]="INVALID_DIRECTIVE",_[_.INVALID_TEMPLATE=3004]="INVALID_TEMPLATE",_[_.RENDER_ERROR=4001]="RENDER_ERROR",_[_.HYDRATION_MISMATCH=4002]="HYDRATION_MISMATCH",_[_.INVALID_VNODE=4003]="INVALID_VNODE",_[_.COMPONENT_INVALID_PROPS=5001]="COMPONENT_INVALID_PROPS",_[_.COMPONENT_MISSING_TEMPLATE=5002]="COMPONENT_MISSING_TEMPLATE",_[_.COMPONENT_LIFECYCLE_ERROR=5003]="COMPONENT_LIFECYCLE_ERROR",_[_.ROUTE_NOT_FOUND=6001]="ROUTE_NOT_FOUND",_[_.ROUTE_DUPLICATE=6002]="ROUTE_DUPLICATE",_[_.NAVIGATION_ABORTED=6003]="NAVIGATION_ABORTED",_[_.NAVIGATION_FAILED=6004]="NAVIGATION_FAILED",_[_.STORE_NOT_FOUND=7001]="STORE_NOT_FOUND",_[_.STORE_DUPLICATE=7002]="STORE_DUPLICATE",_[_.LYT_COMPILER_PARSE_ERROR=R.LYT_COMPILER_PARSE_ERROR]="LYT_COMPILER_PARSE_ERROR",_[_.LYT_COMPILER_INVALID_EXPRESSION=R.LYT_COMPILER_INVALID_EXPRESSION]="LYT_COMPILER_INVALID_EXPRESSION",_[_.LYT_COMPILER_INVALID_TEMPLATE=R.LYT_COMPILER_INVALID_TEMPLATE]="LYT_COMPILER_INVALID_TEMPLATE",_[_.LYT_COMPILER_INVALID_DIRECTIVE=R.LYT_COMPILER_INVALID_DIRECTIVE]="LYT_COMPILER_INVALID_DIRECTIVE",_[_.LYT_COMPILER_CODEGEN_ERROR=R.LYT_COMPILER_CODEGEN_ERROR]="LYT_COMPILER_CODEGEN_ERROR",_[_.LYT_COMPILER_SFC_PARSE_ERROR=R.LYT_COMPILER_SFC_PARSE_ERROR]="LYT_COMPILER_SFC_PARSE_ERROR",_[_.LYT_COMPILER_TRANSFORM_ERROR=R.LYT_COMPILER_TRANSFORM_ERROR]="LYT_COMPILER_TRANSFORM_ERROR",_[_.LYT_RENDERER_MOUNT_FAILED=R.LYT_RENDERER_MOUNT_FAILED]="LYT_RENDERER_MOUNT_FAILED",_[_.LYT_RENDERER_PATCH_FAILED=R.LYT_RENDERER_PATCH_FAILED]="LYT_RENDERER_PATCH_FAILED",_[_.LYT_RENDERER_HYDRATION_MISMATCH=R.LYT_RENDERER_HYDRATION_MISMATCH]="LYT_RENDERER_HYDRATION_MISMATCH",_[_.LYT_RENDERER_INVALID_VNODE=R.LYT_RENDERER_INVALID_VNODE]="LYT_RENDERER_INVALID_VNODE",_[_.LYT_RENDERER_UNMOUNT_FAILED=R.LYT_RENDERER_UNMOUNT_FAILED]="LYT_RENDERER_UNMOUNT_FAILED",_[_.LYT_COMPONENT_INVALID_PROPS=R.LYT_COMPONENT_INVALID_PROPS]="LYT_COMPONENT_INVALID_PROPS",_[_.LYT_COMPONENT_MISSING_RENDER=R.LYT_COMPONENT_MISSING_RENDER]="LYT_COMPONENT_MISSING_RENDER",_[_.LYT_COMPONENT_LIFECYCLE_ERROR=R.LYT_COMPONENT_LIFECYCLE_ERROR]="LYT_COMPONENT_LIFECYCLE_ERROR",_[_.LYT_COMPONENT_INVALID=R.LYT_COMPONENT_INVALID]="LYT_COMPONENT_INVALID",_[_.LYT_COMPONENT_EMIT_INVALID=R.LYT_COMPONENT_EMIT_INVALID]="LYT_COMPONENT_EMIT_INVALID",_[_.LYT_COMPONENT_RENDER_ERROR=R.LYT_COMPONENT_RENDER_ERROR]="LYT_COMPONENT_RENDER_ERROR",_[_.LYT_ROUTER_INVALID_ROUTE=R.LYT_ROUTER_INVALID_ROUTE]="LYT_ROUTER_INVALID_ROUTE",_[_.LYT_ROUTER_NAVIGATION_FAILED=R.LYT_ROUTER_NAVIGATION_FAILED]="LYT_ROUTER_NAVIGATION_FAILED",_[_.LYT_ROUTER_DUPLICATE_ROUTE=R.LYT_ROUTER_DUPLICATE_ROUTE]="LYT_ROUTER_DUPLICATE_ROUTE",_[_.LYT_ROUTER_NAVIGATION_ABORTED=R.LYT_ROUTER_NAVIGATION_ABORTED]="LYT_ROUTER_NAVIGATION_ABORTED",_[_.LYT_ROUTER_GUARD_ERROR=R.LYT_ROUTER_GUARD_ERROR]="LYT_ROUTER_GUARD_ERROR",_[_.LYT_STORE_ALREADY_EXISTS=R.LYT_STORE_ALREADY_EXISTS]="LYT_STORE_ALREADY_EXISTS",_[_.LYT_STORE_NOT_FOUND=R.LYT_STORE_NOT_FOUND]="LYT_STORE_NOT_FOUND",_[_.LYT_STORE_DISPOSED=R.LYT_STORE_DISPOSED]="LYT_STORE_DISPOSED",_[_.LYT_STORE_PATCH_ERROR=R.LYT_STORE_PATCH_ERROR]="LYT_STORE_PATCH_ERROR",_[_.LYT_REACTIVITY_READONLY_SET=R.LYT_REACTIVITY_READONLY_SET]="LYT_REACTIVITY_READONLY_SET",_[_.LYT_REACTIVITY_READONLY_DELETE=R.LYT_REACTIVITY_READONLY_DELETE]="LYT_REACTIVITY_READONLY_DELETE",_[_.LYT_REACTIVITY_EFFECT_ERROR=R.LYT_REACTIVITY_EFFECT_ERROR]="LYT_REACTIVITY_EFFECT_ERROR",_[_.LYT_REACTIVITY_COMPUTED_CYCLE=R.LYT_REACTIVITY_COMPUTED_CYCLE]="LYT_REACTIVITY_COMPUTED_CYCLE",_[_.LYT_REACTIVITY_EFFECT_DISPOSED=R.LYT_REACTIVITY_EFFECT_DISPOSED]="LYT_REACTIVITY_EFFECT_DISPOSED",_[_.LYT_REACTIVITY_CIRCULAR_DEPENDENCY=R.LYT_REACTIVITY_CIRCULAR_DEPENDENCY]="LYT_REACTIVITY_CIRCULAR_DEPENDENCY",_[_.LYT_REACTIVITY_SIGNAL_DISPOSED=R.LYT_REACTIVITY_SIGNAL_DISPOSED]="LYT_REACTIVITY_SIGNAL_DISPOSED",_[_.LYT_CORE_PLUGIN_ERROR=R.LYT_CORE_PLUGIN_ERROR]="LYT_CORE_PLUGIN_ERROR",_[_.LYT_CORE_MOUNT_NO_CONTAINER=R.LYT_CORE_MOUNT_NO_CONTAINER]="LYT_CORE_MOUNT_NO_CONTAINER",_[_.LYT_CORE_ALREADY_MOUNTED=R.LYT_CORE_ALREADY_MOUNTED]="LYT_CORE_ALREADY_MOUNTED",_[_.LYT_CORE_INVALID_ARGUMENT=R.LYT_CORE_INVALID_ARGUMENT]="LYT_CORE_INVALID_ARGUMENT",_[_.LYT_CORE_NOT_FOUND=R.LYT_CORE_NOT_FOUND]="LYT_CORE_NOT_FOUND",_[_.LYT_CORE_ALREADY_EXISTS=R.LYT_CORE_ALREADY_EXISTS]="LYT_CORE_ALREADY_EXISTS",_[_.LYT_CORE_OPERATION_FAILED=R.LYT_CORE_OPERATION_FAILED]="LYT_CORE_OPERATION_FAILED",_[_.LYT_CLI_SCAFFOLD_FAILED=R.LYT_CLI_SCAFFOLD_FAILED]="LYT_CLI_SCAFFOLD_FAILED",_[_.LYT_CLI_BUILD_FAILED=R.LYT_CLI_BUILD_FAILED]="LYT_CLI_BUILD_FAILED",_[_.LYT_CLI_DEV_SERVER_ERROR=R.LYT_CLI_DEV_SERVER_ERROR]="LYT_CLI_DEV_SERVER_ERROR",_[_.LYT_CLI_CONFIG_INVALID=R.LYT_CLI_CONFIG_INVALID]="LYT_CLI_CONFIG_INVALID",_[_.LYT_CLI_HMR_CONNECTION_FAILED=R.LYT_CLI_HMR_CONNECTION_FAILED]="LYT_CLI_HMR_CONNECTION_FAILED",_[_.LYT_DEVTOOLS_CONNECTION_FAILED=R.LYT_DEVTOOLS_CONNECTION_FAILED]="LYT_DEVTOOLS_CONNECTION_FAILED",_[_.LYT_DEVTOOLS_PANEL_ERROR=R.LYT_DEVTOOLS_PANEL_ERROR]="LYT_DEVTOOLS_PANEL_ERROR",_[_.LYT_DEVTOOLS_PERF_OVERFLOW=R.LYT_DEVTOOLS_PERF_OVERFLOW]="LYT_DEVTOOLS_PERF_OVERFLOW",_[_.LYT_DEVTOOLS_COMPONENT_TREE_ERROR=R.LYT_DEVTOOLS_COMPONENT_TREE_ERROR]="LYT_DEVTOOLS_COMPONENT_TREE_ERROR",_[_.LYT_PLUGIN_INSTALL_FAILED=R.LYT_PLUGIN_INSTALL_FAILED]="LYT_PLUGIN_INSTALL_FAILED",_[_.LYT_PLUGIN_ALREADY_INSTALLED=R.LYT_PLUGIN_ALREADY_INSTALLED]="LYT_PLUGIN_ALREADY_INSTALLED",_[_.LYT_PLUGIN_INVALID=R.LYT_PLUGIN_INVALID]="LYT_PLUGIN_INVALID",_[_.LYT_PLUGIN_UNINSTALL_FAILED=R.LYT_PLUGIN_UNINSTALL_FAILED]="LYT_PLUGIN_UNINSTALL_FAILED",_[_.LYT_RENDERER_VAPOR_ERROR=R.LYT_RENDERER_VAPOR_ERROR]="LYT_RENDERER_VAPOR_ERROR",_[_.LYT_RENDERER_VAPOR_COMPILER_ERROR=R.LYT_RENDERER_VAPOR_COMPILER_ERROR]="LYT_RENDERER_VAPOR_COMPILER_ERROR",_[_.LYT_RENDERER_VAPOR_COMPONENT_ERROR=R.LYT_RENDERER_VAPOR_COMPONENT_ERROR]="LYT_RENDERER_VAPOR_COMPONENT_ERROR",_[_.LYT_SSR_STREAM_ERROR=R.LYT_SSR_STREAM_ERROR]="LYT_SSR_STREAM_ERROR",_[_.LYT_SSR_SUSPENSE_TIMEOUT=R.LYT_SSR_SUSPENSE_TIMEOUT]="LYT_SSR_SUSPENSE_TIMEOUT",_[_.LYT_SSR_HYDRATION_ERROR=R.LYT_SSR_HYDRATION_ERROR]="LYT_SSR_HYDRATION_ERROR",_[_.LYT_SSR_ISLAND_ERROR=R.LYT_SSR_ISLAND_ERROR]="LYT_SSR_ISLAND_ERROR",_))(A||{});var D=class D{constructor(T){this.errors=[],this.options=T||{},this._hasError=!1}get hasError(){return this._hasError}static setGlobalHandler(T){D.globalHandler=T}capture(T,E,t){var e;let i={error:T,vm:E,info:t||"",timestamp:Date.now()};this.errors.push(i),this._hasError=!0;let L=(e=this.options.maxErrors)!=null?e:100;this.errors.length>L&&this.errors.splice(0,this.errors.length-L),!(this.options.onErrorCaptured&&this.options.onErrorCaptured(T instanceof n?T:new n(A.LYT_CORE_OPERATION_FAILED,T.message),E,i.info)===!0)&&this.options.onError&&this.options.onError(T instanceof n?T:new n(A.LYT_CORE_OPERATION_FAILED,T.message),E)}getFallback(T){if(!this.options.fallback||this.errors.length===0)return null;let E=this.errors[this.errors.length-1];return this.options.fallback(E.error,E.vm,E.info)}getErrors(){return this.errors.slice()}getErrorCount(){return this.errors.length}getLastErrors(){return this.errors.length===0?null:{...this.errors[this.errors.length-1]}}clear(){this.errors=[],this._hasError=!1}};D.globalHandler=null;var I=D,N=!0,Y=new Set;function c(O){N=O}function l(){return N}function P(O){if(!N)return;let T=console.warn;typeof T=="function"&&T(`[Lyt warn] ${O}`)}function S(O){if(!N||Y.has(O))return;Y.add(O);let T=console.warn;typeof T=="function"&&T(`[Lyt warn] ${O}`)}function V(){Y.clear()}function p(O,...T){let E=M(O);return`[Lyt ${O}] ${E}`}function a(O,T,E){I.globalHandler&&I.globalHandler(O,T,E||""),N?O instanceof n&&O.details:typeof reportError=="function"&&reportError(O)}function U(O,T){try{return O()}catch(E){a(E instanceof Error?E:new Error(String(E)),T);return}}async function f(O,T){try{return await O()}catch(E){a(E instanceof Error?E:new Error(String(E)),T);return}}import{LytErrorCodes as b,ErrorCategory as F,getErrorMessage as u,getCategory as g}from"@lytjs/common";import{LytError as W,createCompilerError as m,createRendererError as h,createComponentError as G}from"@lytjs/common";export{I as ErrorBoundary,F as ErrorCategory,n as LytError,A as LytErrorCodes,U as callWithErrorHandling,f as callWithErrorHandlingAsync,m as createCompilerError,G as createComponentError,p as createMessage,h as createRendererError,g as getCategory,l as getDevMode,u as getErrorMessage,a as handleError,V as resetWarnedMessages,c as setDevMode,P as warn,S as warnOnce,S as warnOnceUtil,P as warnUtil};
@@ -1 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=(n,e)=>{for(var t in e)a(n,t,{get:e[t],enumerable:!0})},A=(n,e,t,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of p(e))!g.call(n,i)&&i!==t&&a(n,i,{get:()=>e[i],enumerable:!(l=d(e,i))||l.enumerable});return n};var m=n=>A(a({},"__esModule",{value:!0}),n);var I={};y(I,{createProvidesContext:()=>u,getPluginName:()=>P,installPlugin:()=>c,isPluginFunction:()=>r,isPluginObject:()=>o,uninstallPlugin:()=>f});module.exports=m(I);var s=require("@lytjs/common");function u(n){return Object.create(n||null)}function o(n){return n!==null&&typeof n=="object"&&typeof n.install=="function"}function r(n){return typeof n=="function"}function P(n){return o(n)&&n.name||r(n)&&n.name?n.name:o(n)?"[PluginObject]":"[PluginFunction]"}function c(n,e,...t){if(o(e)){let l=e.onBeforeInstall?e.onBeforeInstall(n,...t):void 0;if((0,s.isPromise)(l))return l.then(()=>{let i=e.install(n,...t);if((0,s.isPromise)(i))return i.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)});{let i=e.install(n,...t);if((0,s.isPromise)(i))return i.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)}}else if(r(e))return e(n,...t)}function f(n,e){if(o(e)){if(typeof e.uninstall=="function")return e.uninstall(n)}else r(e)}
@@ -1 +0,0 @@
1
- import{isPromise as r}from"@lytjs/common";function a(n){return Object.create(n||null)}function o(n){return n!==null&&typeof n=="object"&&typeof n.install=="function"}function l(n){return typeof n=="function"}function u(n){return o(n)&&n.name||l(n)&&n.name?n.name:o(n)?"[PluginObject]":"[PluginFunction]"}function P(n,e,...t){if(o(e)){let s=e.onBeforeInstall?e.onBeforeInstall(n,...t):void 0;if(r(s))return s.then(()=>{let i=e.install(n,...t);if(r(i))return i.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)});{let i=e.install(n,...t);if(r(i))return i.then(()=>{if(e.onInstalled)return e.onInstalled(n,...t)});if(e.onInstalled)return e.onInstalled(n,...t)}}else if(l(e))return e(n,...t)}function c(n,e){if(o(e)){if(typeof e.uninstall=="function")return e.uninstall(n)}else l(e)}export{a as createProvidesContext,u as getPluginName,P as installPlugin,l as isPluginFunction,o as isPluginObject,c as uninstallPlugin};
@@ -1 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@lytjs/common"),module.exports);
@@ -1 +0,0 @@
1
- export*from"@lytjs/common";
@@ -1,161 +0,0 @@
1
- /**
2
- * Lyt.js 核心入口 — 应用创建(createApp)
3
- *
4
- * 提供应用实例的创建、挂载、卸载等核心功能。
5
- *
6
- * 核心功能:
7
- * - createApp(rootComponent, rootProps?) 创建应用实例
8
- * - app.mount(container) 挂载到 DOM
9
- * - app.unmount() 卸载应用
10
- * - app.use(plugin) 安装插件
11
- * - app.provide(key, value) / app.inject(key) 依赖注入
12
- * - app.component(name, component) 全局组件注册
13
- * - app.directive(name, directive) 全局指令注册
14
- * - 支持模板字符串编译(通过 @lytjs/compiler)
15
- * - 支持响应式 state 自动代理(通过 @lytjs/reactivity)
16
- *
17
- * 设计说明:
18
- * - 组件实例创建委托给 @lytjs/component 的 defineComponent / createComponentInstance / setupComponent / mountComponent
19
- * - DOM 渲染委托给 @lytjs/renderer 的 createRenderer
20
- * - 响应式更新通过 @lytjs/reactivity 的 effect 实现
21
- * - h.ts 中直接定义最小 VNode 结构
22
- */
23
- import { type VNode } from './h';
24
- import { type Plugin, type AppConfig } from './plugin';
25
- /**
26
- * 组件定义(本地别名)
27
- *
28
- * 保留此接口以维持向后兼容性,现有代码可能从此模块导入 ComponentOptions。
29
- * 内部实现委托给 @lytjs/component 的 ComponentOptions。
30
- *
31
- * 注意:此接口比 @lytjs/component 的 ComponentOptions 更宽松,
32
- * 支持旧式的 state 对象形式和 render(ctx) 签名。
33
- */
34
- export interface ComponentOptions {
35
- /** 组件名称 */
36
- name?: string;
37
- /** Props 定义 */
38
- props?: Record<string, unknown>;
39
- /** 响应式状态(对象或工厂函数) */
40
- state?: Record<string, unknown> | (() => Record<string, unknown>);
41
- /** 计算属性 */
42
- computed?: Record<string, (...args: unknown[]) => unknown>;
43
- /** 方法 */
44
- methods?: Record<string, (...args: unknown[]) => unknown>;
45
- /** 模板字符串 */
46
- template?: string;
47
- /** 渲染函数(优先于 template) */
48
- render?: (ctx: unknown) => VNode;
49
- /** setup 函数(组合式 API) */
50
- setup?: (props: Record<string, unknown>, ctx: unknown) => Record<string, unknown> | void;
51
- /** 初始化函数 */
52
- init?: (this: unknown, props: Record<string, unknown>) => void;
53
- /** mounted 生命周期 */
54
- mounted?: (this: unknown) => void;
55
- /** beforeUnmount 生命周期 */
56
- beforeUnmount?: (this: unknown) => void;
57
- /** unmounted 生命周期 */
58
- unmounted?: (this: unknown) => void;
59
- /** 子组件 */
60
- components?: Record<string, unknown>;
61
- /** 标记为组件定义 */
62
- _isComponentDefine?: true;
63
- }
64
- /** 指令钩子 */
65
- export interface DirectiveHooks {
66
- /** 指令绑定到元素时 */
67
- created?: (el: any, binding: DirectiveBinding) => void;
68
- /** 元素插入 DOM 前 */
69
- beforeMount?: (el: any, binding: DirectiveBinding) => void;
70
- /** 元素插入 DOM 后 */
71
- mounted?: (el: any, binding: DirectiveBinding) => void;
72
- /** 更新前 */
73
- beforeUpdate?: (el: any, binding: DirectiveBinding) => void;
74
- /** 更新后 */
75
- updated?: (el: any, binding: DirectiveBinding) => void;
76
- /** 卸载前 */
77
- beforeUnmount?: (el: any, binding: DirectiveBinding) => void;
78
- /** 卸载后 */
79
- unmounted?: (el: any, binding: DirectiveBinding) => void;
80
- }
81
- /** 指令绑定信息 */
82
- export interface DirectiveBinding {
83
- /** 指令值 */
84
- value: any;
85
- /** 旧值 */
86
- oldValue: any;
87
- /** 传递给指令的参数 */
88
- arg?: string;
89
- /** 指令修饰符 */
90
- modifiers: Record<string, boolean>;
91
- /** 指令所在实例 */
92
- instance: any;
93
- }
94
- /** 应用实例接口 */
95
- export interface App {
96
- /** 挂载应用 */
97
- mount(container: string | Element): App;
98
- /** 卸载应用 */
99
- unmount(): void;
100
- /** 安装插件(同步时返回 App,异步时返回 Promise<App>) */
101
- use(plugin: Plugin, ...options: any[]): App | Promise<App>;
102
- /** 卸载插件(同步时返回 App,异步时返回 Promise<App>) */
103
- unuse(plugin: Plugin): App | Promise<App>;
104
- /** 查询插件是否已安装 */
105
- isInstalled(plugin: Plugin): boolean;
106
- /** 提供依赖 */
107
- provide<T = any>(key: string | symbol, value: T): App;
108
- /** 注入依赖 */
109
- inject<T = any>(key: string | symbol, defaultValue?: T): T | undefined;
110
- /** 注册或获取全局组件 */
111
- component(name: string, component?: ComponentOptions): App | ComponentOptions | undefined;
112
- /** 注册或获取全局指令 */
113
- directive(name: string, directive?: DirectiveHooks): App | DirectiveHooks | undefined;
114
- /** 全局配置 */
115
- config: AppConfig;
116
- /** 全局属性 */
117
- globalProperties: Record<string, any>;
118
- /** 获取根组件实例 */
119
- _instance: any;
120
- }
121
- /**
122
- * 创建应用实例
123
- *
124
- * @param rootComponent - 根组件(组件选项对象或函数)
125
- * @param rootProps - 传递给根组件的 props(可选)
126
- * @returns 应用实例
127
- *
128
- * @example
129
- * ```ts
130
- * import { createApp, h } from '@lytjs/core'
131
- *
132
- * const app = createApp({
133
- * name: 'App',
134
- * state: () => ({
135
- * count: 0,
136
- * message: 'Hello Lyt.js',
137
- * }),
138
- * render() {
139
- * return h('div', { class: 'app' }, [
140
- * h('h1', null, this.message),
141
- * h('p', null, `Count: ${this.count}`),
142
- * h('button', { onClick: () => this.count++ }, 'Increment'),
143
- * ])
144
- * },
145
- * })
146
- *
147
- * // 安装插件
148
- * app.use(myPlugin)
149
- *
150
- * // 提供依赖
151
- * app.provide('config', { theme: 'dark' })
152
- *
153
- * // 注册全局组件
154
- * app.component('MyButton', MyButtonComponent)
155
- *
156
- * // 挂载到 DOM
157
- * app.mount('#app')
158
- * ```
159
- */
160
- export declare function createApp(rootComponent: ComponentOptions | (() => VNode), rootProps?: Record<string, any>): App;
161
- //# sourceMappingURL=create-app.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../src/create-app.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Lyt.js 开发模式错误增强
3
- *
4
- * 提供开发模式下的错误格式化、组件栈追踪和错误覆盖层。
5
- * 纯原生零依赖 TypeScript 实现。
6
- */
7
- /**
8
- * 格式化错误信息,包含源位置、组件栈和修复建议
9
- *
10
- * @param err 错误对象
11
- * @returns 格式化后的错误信息字符串
12
- */
13
- export declare function formatError(err: Error): string;
14
- /**
15
- * 获取组件栈信息
16
- *
17
- * 沿组件树向上遍历,构建组件调用栈。
18
- *
19
- * @param instance 当前组件实例(需包含 parent 引用)
20
- * @returns 组件栈字符串
21
- */
22
- export declare function getComponentStack(instance?: any): string;
23
- /**
24
- * 生成开发模式错误覆盖层 HTML
25
- *
26
- * 可以注入到页面中显示错误详情。
27
- *
28
- * @param err 错误对象
29
- * @returns HTML 字符串
30
- */
31
- export declare function createErrorOverlay(err: Error): string;
32
- //# sourceMappingURL=dev-error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev-error.d.ts","sourceRoot":"","sources":["../../src/dev-error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAmD9C;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,CAaxD;AAkFD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAkErD"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Lyt.js 错误码系统
3
- *
4
- * 已移至 @lytjs/common
5
- * 保持向后兼容性 - 重新导出自 @lytjs/common
6
- */
7
- export { LytErrorCodes, ErrorCategory, type ErrorCategoryType, getErrorMessage, getCategory, } from '@lytjs/common';
8
- //# sourceMappingURL=error-codes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,iBAAiB,EACtB,eAAe,EACf,WAAW,GACZ,MAAM,eAAe,CAAA"}
@@ -1,14 +0,0 @@
1
- /**
2
- * @lytjs/core/error — 错误处理子路径入口
3
- *
4
- * 按需导入错误处理 API:
5
- * import { LytError, ErrorBoundary, handleError } from '@lytjs/core/error'
6
- */
7
- export { LytError, LytErrorCodes, ErrorBoundary, handleError, callWithErrorHandling, callWithErrorHandlingAsync, warn, warnOnce, setDevMode, createMessage, } from './error-handling';
8
- export type { ErrorBoundaryOptions, } from './error-handling';
9
- export { ErrorCategory, getErrorMessage, getCategory, } from './error-codes';
10
- export type { ErrorCategoryType, } from './error-codes';
11
- export { createCompilerError, createRendererError, createComponentError, } from './lyt-error';
12
- export type { SourceLocation, } from './lyt-error';
13
- export { warn as warnUtil, warnOnce as warnOnceUtil, getDevMode, resetWarnedMessages, } from './error-handling';
14
- //# sourceMappingURL=error-entry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-entry.d.ts","sourceRoot":"","sources":["../../src/error-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EACR,aAAa,EACb,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,0BAA0B,EAC1B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EACV,oBAAoB,GACrB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,eAAe,CAAA;AAEtB,YAAY,EACV,iBAAiB,GAClB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,cAAc,GACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,IAAI,IAAI,QAAQ,EAChB,QAAQ,IAAI,YAAY,EACxB,UAAU,EACV,mBAAmB,GACpB,MAAM,kBAAkB,CAAA"}