@rockn/vue-formula-editor 1.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.
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .fe[data-v-10da7669]{--fe-bg: #12151b;--fe-surface: #171b23;--fe-surface-2: #1d232e;--fe-surface-3: #232b3a;--fe-border: #262e3c;--fe-border-strong: #354054;--fe-text: #e7ecf4;--fe-muted: #8fa0b8;--fe-faint: #5c6a82;--fe-accent: #ffc94d;--fe-accent-2: #67c7ff;--fe-green: #6fd6a8;--fe-red: #ff7a7a;--fe-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;--fe-sans: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;display:flex;flex-direction:column;width:100%;height:100%;background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:14px;overflow:hidden;box-shadow:0 1px #ffffff08 inset,0 18px 40px -18px #000000b3;font-family:var(--fe-sans);color:var(--fe-text);font-size:13px;line-height:1.5}.fe.theme-light[data-v-10da7669]{--fe-bg: #f6f8fb;--fe-surface: #ffffff;--fe-surface-2: #eef1f6;--fe-surface-3: #e3e8f0;--fe-border: #d8dee8;--fe-border-strong: #c3cbd9;--fe-text: #24303e;--fe-muted: #5b6a7e;--fe-faint: #93a1b4;--fe-accent: #9a6b00;--fe-accent-2: #0f7fc4;--fe-green: #1f9d61;--fe-red: #d64545;--fe-tok-number: #b05e0f;--fe-tok-string: #1d8a55;--fe-tok-variable: #9a6b00;--fe-tok-function: #0b78b8;--fe-tok-operator: #4c5f7d;--fe-tok-paren: #7a8aa3;--fe-tok-keyword: #7c3aed;--fe-tok-error: #d64545;box-shadow:0 1px #fffc inset,0 18px 40px -18px #3c506e59}.fe.theme-light .fe-line-marker[data-v-10da7669]{background:#3c506e14;border-left-color:#9a6b0073}.fe.theme-light .fe-textarea[data-v-10da7669]::selection{background:#9a6b0038}.fe.theme-light .fe-code-shell[data-v-10da7669]:focus-within{box-shadow:0 0 0 2px #0f7fc438 inset}.fe.theme-light .fe-error-msg[data-v-10da7669],.fe.theme-light .fe-foot-result.bad .fe-result-value[data-v-10da7669]{color:#b03030}.fe.theme-light .fe-tooltip[data-v-10da7669]{box-shadow:0 8px 24px #3c506e40}.fe.theme-light[data-v-10da7669] ::-webkit-scrollbar-thumb:hover{background:#b6c2d4}.fe.theme-light .vt-number[data-v-10da7669]{color:#9a6b00;border-color:#9a6b0066;background:#9a6b000f}.fe.theme-light .vt-string[data-v-10da7669]{color:#0b78b8;border-color:#0b78b866;background:#0b78b80f}.fe.theme-light .vt-boolean[data-v-10da7669]{color:#1f9d61;border-color:#1f9d6166;background:#1f9d610f}.fe.theme-light .vt-any[data-v-10da7669]{color:#5b6a7e;border-color:#5b6a7e66;background:#5b6a7e0f}.fe-header[data-v-10da7669]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:linear-gradient(180deg,var(--fe-surface),var(--fe-bg));border-bottom:1px solid var(--fe-border)}.fe-title-wrap[data-v-10da7669]{display:flex;align-items:center;gap:10px;min-width:0}.fe-mark[data-v-10da7669]{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#ffc94d29,#ffc94d0a);border:1px solid rgba(255,201,77,.35);color:var(--fe-accent);font-family:Georgia,serif;font-size:18px;font-weight:700;text-shadow:0 0 12px rgba(255,201,77,.45)}.fe-title-box[data-v-10da7669]{min-width:0}.fe-title[data-v-10da7669]{font-family:var(--fe-mono);font-size:13px;font-weight:600;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fe-subtitle[data-v-10da7669]{font-family:var(--fe-mono);font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--fe-faint)}.fe-header-actions[data-v-10da7669]{display:flex;gap:6px;flex-shrink:0}.fe-btn[data-v-10da7669]{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;font-family:var(--fe-mono);font-size:11px;color:var(--fe-muted);background:transparent;border:1px solid var(--fe-border);border-radius:7px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,transform .12s ease}.fe-btn[data-v-10da7669]:hover:not(:disabled){color:var(--fe-accent);border-color:#ffc94d73;transform:translateY(-1px)}.fe-btn.active[data-v-10da7669]{color:var(--fe-accent-2);border-color:#67c7ff73;background:#67c7ff12}.fe-btn[data-v-10da7669]:disabled{opacity:.4;cursor:not-allowed}.fe-btn-ico[data-v-10da7669]{font-size:12px;line-height:1}.fe-help[data-v-10da7669]{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;padding:14px 16px;background:var(--fe-surface);border-bottom:1px solid var(--fe-border);max-height:300px;overflow:auto}.fe-help-col[data-v-10da7669]{min-width:0}.fe-help-title[data-v-10da7669]{font-family:var(--fe-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--fe-accent);margin-bottom:10px}.fe-help-table[data-v-10da7669]{border-collapse:collapse;width:100%}.fe-help-table td[data-v-10da7669]{padding:4px 8px 4px 0;vertical-align:top;font-size:12px}.fe-help-k[data-v-10da7669]{color:var(--fe-muted);white-space:nowrap;width:64px}.fe-help-table code[data-v-10da7669],.fe-help-fns code[data-v-10da7669]{font-family:var(--fe-mono);font-size:11.5px;color:var(--fe-accent-2);background:#67c7ff14;border:1px solid rgba(103,199,255,.18);border-radius:4px;padding:1px 5px}.fe-help-tip[data-v-10da7669]{margin-top:10px;font-size:11.5px;color:var(--fe-muted)}.fe-help-fns[data-v-10da7669]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.fe-help-fns li[data-v-10da7669]{display:flex;flex-direction:column;gap:2px}.fe-help-fns li span[data-v-10da7669]{font-size:11.5px;color:var(--fe-muted)}.fe-toolbar[data-v-10da7669]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 12px;background:var(--fe-surface);border-bottom:1px solid var(--fe-border)}.fe-toolbar-group[data-v-10da7669]{font-family:var(--fe-mono);font-size:9px;letter-spacing:.18em;color:var(--fe-faint);text-transform:uppercase;margin-left:8px}.fe-toolbar-group[data-v-10da7669]:first-child{margin-left:0}.fe-chip[data-v-10da7669]{font-family:var(--fe-mono);font-size:11px;font-weight:500;padding:3px 9px;color:var(--fe-muted);background:var(--fe-surface-2);border:1px solid var(--fe-border);border-radius:999px;cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease,transform .12s ease}.fe-chip[data-v-10da7669]:hover:not(:disabled){color:var(--fe-accent);border-color:#ffc94d80;background:#ffc94d14;transform:translateY(-1px)}.fe-chip[data-v-10da7669]:active:not(:disabled){transform:translateY(0)}.fe-chip[data-v-10da7669]:disabled{opacity:.4;cursor:not-allowed}.fe-toolbar-hint[data-v-10da7669]{margin-left:auto;font-size:10.5px;color:var(--fe-faint);padding-right:4px}.fe-body[data-v-10da7669]{display:flex;min-height:0;flex:1}.fe-vars[data-v-10da7669]{width:250px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--fe-border);background:var(--fe-surface)}.fe-vars-head[data-v-10da7669]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;font-family:var(--fe-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fe-muted)}.fe-vars-count[data-v-10da7669]{font-size:10px;color:var(--fe-faint);background:var(--fe-surface-2);border:1px solid var(--fe-border);border-radius:999px;padding:0 7px}.fe-vars-search[data-v-10da7669]{padding:0 12px 8px}.fe-vars-search input[data-v-10da7669]{width:100%;box-sizing:border-box;padding:6px 10px;font-size:12px;color:var(--fe-text);background:var(--fe-bg);border:1px solid var(--fe-border);border-radius:7px;outline:none;transition:border-color .15s ease}.fe-vars-search input[data-v-10da7669]:focus{border-color:#67c7ff80}.fe-vars-search input[data-v-10da7669]::placeholder{color:var(--fe-faint)}.fe-vars-list[data-v-10da7669]{flex:1;overflow:auto;padding:0 8px 8px;display:flex;flex-direction:column;gap:3px}.fe-var-row[data-v-10da7669]{padding:7px 9px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background .14s ease,border-color .14s ease,transform .12s ease}.fe-var-row[data-v-10da7669]:hover:not(.disabled){background:var(--fe-surface-2);border-color:var(--fe-border-strong);transform:translate(2px)}.fe-var-row.disabled[data-v-10da7669]{opacity:.55;cursor:not-allowed}.fe-var-line1[data-v-10da7669]{display:flex;align-items:center;gap:6px}.fe-var-name[data-v-10da7669]{font-family:var(--fe-mono);font-size:12px;font-weight:600;color:var(--fe-accent)}.fe-var-row:hover:not(.disabled) .fe-var-name[data-v-10da7669]{text-shadow:0 0 10px rgba(255,201,77,.4)}.fe-var-badge[data-v-10da7669]{font-family:var(--fe-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:1px 5px;border:1px solid}.vt-number[data-v-10da7669]{color:#ffc94d;border-color:#ffc94d59;background:#ffc94d12}.vt-string[data-v-10da7669]{color:#67c7ff;border-color:#67c7ff59;background:#67c7ff12}.vt-boolean[data-v-10da7669]{color:#6fd6a8;border-color:#6fd6a859;background:#6fd6a812}.vt-any[data-v-10da7669]{color:#8fa0b8;border-color:#8fa0b859;background:#8fa0b812}.fe-var-req[data-v-10da7669]{color:var(--fe-red);font-weight:700}.fe-var-desc[data-v-10da7669]{margin-top:3px;font-size:11px;color:var(--fe-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-vars-empty[data-v-10da7669]{text-align:center;padding:26px 0;color:var(--fe-faint);font-size:12px}.fe-vars-empty-ico[data-v-10da7669]{font-size:26px;margin-bottom:6px;opacity:.6}.fe-vars-foot[data-v-10da7669]{padding:7px 12px;font-size:10.5px;color:var(--fe-faint);border-top:1px solid var(--fe-border)}.fe-var-expand[data-v-10da7669]{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-right:2px;font-size:10px;color:var(--fe-faint);border:1px solid var(--fe-border);border-radius:4px;cursor:pointer;transition:transform .14s ease,color .14s ease,border-color .14s ease;flex-shrink:0;-webkit-user-select:none;user-select:none}.fe-var-expand[data-v-10da7669]:hover{color:var(--fe-accent);border-color:#ffc94d73}.fe-var-expand.open[data-v-10da7669]{transform:rotate(90deg)}.fe-var-sub[data-v-10da7669]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:3px 6px 8px 20px}.fe-var-chip[data-v-10da7669]{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;font-family:var(--fe-mono);font-size:11px;color:var(--fe-accent-2);background:var(--fe-surface-2);border:1px solid var(--fe-border);border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .14s ease,border-color .14s ease,background .14s ease,transform .12s ease}.fe-var-chip[data-v-10da7669]:hover:not(.disabled){color:var(--fe-accent);border-color:#ffc94d80;background:#ffc94d14;transform:translate(2px)}.fe-var-sub-empty[data-v-10da7669]{font-size:11px;color:var(--fe-faint);padding:2px 4px}.fe-fns[data-v-10da7669]{width:280px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--fe-border);background:var(--fe-surface)}.fe-fn-row[data-v-10da7669]{padding:7px 9px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background .14s ease,border-color .14s ease,transform .12s ease}.fe-fn-row[data-v-10da7669]:hover:not(.disabled){background:var(--fe-surface-2);border-color:var(--fe-border-strong);transform:translate(2px)}.fe-fn-row.disabled[data-v-10da7669]{opacity:.55;cursor:not-allowed}.fe-fn-line1[data-v-10da7669]{display:flex;align-items:center;gap:6px}.fe-fn-name[data-v-10da7669]{font-family:var(--fe-mono);font-size:12px;font-weight:600;color:var(--fe-accent-2)}.fe-fn-group[data-v-10da7669]{font-family:var(--fe-mono);font-size:9px;color:var(--fe-faint);background:var(--fe-surface-3);border:1px solid var(--fe-border);border-radius:4px;padding:0 5px}.fe-fn-sig[data-v-10da7669]{margin-top:2px;font-family:var(--fe-mono);font-size:11px;color:var(--fe-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fe-fn-desc[data-v-10da7669]{margin-top:2px;font-size:11px;color:var(--fe-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-editor[data-v-10da7669]{flex:1;min-width:0;display:flex;flex-direction:column}.fe-code-shell[data-v-10da7669]{position:relative;display:flex;flex:1;min-height:var(--fe-height);background:var(--fe-bg);border-radius:0;overflow:hidden;transition:box-shadow .18s ease}.fe-code-shell[data-v-10da7669]:focus-within{box-shadow:0 0 0 2px #67c7ff2e inset}.fe-gutter[data-v-10da7669]{position:relative;flex-shrink:0;width:46px;padding:12px 8px 12px 0;background:var(--fe-surface);border-right:1px solid var(--fe-border);overflow:hidden;-webkit-user-select:none;user-select:none}.fe-gutter-inner[data-v-10da7669]{position:absolute;top:12px;left:8px;right:0;font-family:var(--fe-mono);font-size:12.5px;line-height:21.25px;text-align:right;color:var(--fe-faint);will-change:transform}.fe-gutter-line[data-v-10da7669]{display:block;height:21.25px;line-height:21.25px}.fe-gutter-line.err[data-v-10da7669]{color:var(--fe-red);font-weight:700}.fe-code-wrap[data-v-10da7669]{position:relative;flex:1;min-width:0;overflow:hidden}.fe-line-marker[data-v-10da7669]{position:absolute;left:0;right:0;top:12px;height:21.25px;background:#ffffff0b;border-left:2px solid rgba(255,201,77,.28);pointer-events:none}.fe-highlight[data-v-10da7669]{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;box-sizing:border-box;padding:12px 14px;font-family:var(--fe-mono);font-size:12.5px;line-height:1.7;letter-spacing:.5px;white-space:pre;-moz-tab-size:2;tab-size:2;color:var(--fe-text);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0;font-variant-numeric:tabular-nums;pointer-events:none;will-change:transform}.fe-highlight code[data-v-10da7669]{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;line-height:inherit;letter-spacing:inherit;font-variant-ligatures:inherit;font-feature-settings:inherit;font-variant-numeric:inherit;color:inherit}.fe-textarea[data-v-10da7669]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;margin:0;padding:12px 14px;font-family:var(--fe-mono);font-size:12.5px;line-height:1.7;letter-spacing:.5px;white-space:pre;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0;font-variant-numeric:tabular-nums;color:transparent;caret-color:var(--fe-accent);background:transparent;border:none;outline:none;resize:none;overflow:auto;-moz-tab-size:2;tab-size:2}.fe-textarea[data-v-10da7669]::placeholder{color:var(--fe-faint)}.fe-textarea[data-v-10da7669]::selection{background:#ffc94d3d}.fe-textarea[data-v-10da7669]:disabled{cursor:not-allowed}[data-v-10da7669] .tok-num{color:var(--fe-tok-number, #f2b76b)}[data-v-10da7669] .tok-str{color:var(--fe-tok-string, #7dd6a8)}[data-v-10da7669] .tok-var{color:var(--fe-tok-variable, #ffc94d);font-weight:600}[data-v-10da7669] .tok-fn{color:var(--fe-tok-function, #67c7ff)}[data-v-10da7669] .tok-op{color:var(--fe-tok-operator, #9db2d6)}[data-v-10da7669] .tok-paren{color:var(--fe-tok-paren, #6a7a94)}[data-v-10da7669] .tok-kw{color:var(--fe-tok-keyword, #c792ea);font-weight:700}[data-v-10da7669] .tok-err{color:var(--fe-tok-error, #ff7a7a);text-decoration:underline wavy rgba(255,122,122,.7);text-underline-offset:3px}[data-v-10da7669] .tok-pair{background:#ffc94d29;box-shadow:inset 0 0 0 1px #ffc94d66;border-radius:2px}.fe.theme-light[data-v-10da7669] .tok-pair{background:#9a6b0024;box-shadow:inset 0 0 0 1px #9a6b0059}.fe-errors[data-v-10da7669]{border-top:1px solid rgba(255,122,122,.35);background:#ff7a7a0f;max-height:150px;overflow:auto;padding:4px 0}.fe-error-row[data-v-10da7669]{display:flex;align-items:center;gap:8px;padding:5px 14px;font-size:12px;cursor:pointer;transition:background .12s ease}.fe-error-row[data-v-10da7669]:hover{background:#ff7a7a1a}.fe-error-dot[data-v-10da7669]{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--fe-red);box-shadow:0 0 8px #ff7a7ab3}.fe-error-msg[data-v-10da7669]{flex:1;min-width:0;color:#ffb4b4;font-family:var(--fe-mono);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fe-error-kind[data-v-10da7669]{font-family:var(--fe-mono);font-size:9.5px;text-transform:uppercase;color:var(--fe-faint);border:1px solid var(--fe-border);border-radius:4px;padding:0 5px;flex-shrink:0}.fe-footer[data-v-10da7669]{display:flex;align-items:center;gap:14px;padding:7px 14px;background:var(--fe-surface);border-top:1px solid var(--fe-border);font-family:var(--fe-mono);font-size:11px;color:var(--fe-muted)}.fe-foot-left[data-v-10da7669]{display:flex;align-items:center;gap:8px;flex-shrink:0}.fe-status[data-v-10da7669]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:2px 8px;border-radius:999px;border:1px solid var(--fe-border)}.fe-status.ok[data-v-10da7669]{color:var(--fe-green);border-color:#6fd6a866;background:#6fd6a812}.fe-status.bad[data-v-10da7669]{color:var(--fe-red);border-color:#ff7a7a66;background:#ff7a7a12}.fe-status-dot[data-v-10da7669]{width:6px;height:6px;border-radius:50%;background:currentColor}.fe-foot-err-count[data-v-10da7669]{color:var(--fe-red);font-size:10px}.fe-foot-result[data-v-10da7669]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:3px 10px;border-radius:7px;border:1px solid var(--fe-border);background:var(--fe-bg);overflow:hidden}.fe-foot-result.ok[data-v-10da7669]{border-color:#6fd6a84d}.fe-foot-result.bad[data-v-10da7669]{border-color:#ff7a7a59}.fe-result-label[data-v-10da7669]{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fe-faint);flex-shrink:0}.fe-result-value[data-v-10da7669]{font-size:12px;color:var(--fe-green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fe-result-value.empty[data-v-10da7669]{color:var(--fe-faint)}.fe-foot-result.bad .fe-result-value[data-v-10da7669]{color:#ffb4b4}.fe-result-type[data-v-10da7669]{flex-shrink:0;font-size:9.5px;color:var(--fe-accent-2);border:1px solid rgba(103,199,255,.3);background:#67c7ff0f;border-radius:4px;padding:0 5px}.fe-foot-caret[data-v-10da7669]{flex-shrink:0;color:var(--fe-faint);font-size:10.5px}.fe-drop-enter-active[data-v-10da7669],.fe-drop-leave-active[data-v-10da7669]{transition:opacity .16s ease,transform .16s ease}.fe-drop-enter-from[data-v-10da7669],.fe-drop-leave-to[data-v-10da7669]{opacity:0;transform:translateY(-4px)}.fe[data-v-10da7669] ::-webkit-scrollbar{width:10px;height:10px}.fe[data-v-10da7669] ::-webkit-scrollbar-track{background:transparent}.fe[data-v-10da7669] ::-webkit-scrollbar-thumb{background:var(--fe-border-strong);border-radius:6px;border:2px solid var(--fe-bg)}.fe[data-v-10da7669] ::-webkit-scrollbar-thumb:hover{background:#4a5a75}.fe-tooltip[data-v-10da7669]{position:absolute;z-index:30;max-width:340px;padding:8px 11px;font-family:var(--fe-mono);font-size:11.5px;line-height:1.55;white-space:pre-wrap;color:var(--fe-text);background:var(--fe-surface-3);border:1px solid var(--fe-border-strong);border-radius:8px;box-shadow:0 8px 24px #00000073;pointer-events:none;transform:translate(10px,12px)}.fe-fade-enter-active[data-v-10da7669],.fe-fade-leave-active[data-v-10da7669]{transition:opacity .12s ease}.fe-fade-enter-from[data-v-10da7669],.fe-fade-leave-to[data-v-10da7669]{opacity:0}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@rockn/vue-formula-editor",
3
+ "version": "1.0.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "description": "可复用的 Vue3 公式编辑器组件 + 零依赖公式引擎:IF/ELSE 块状逻辑、枚举标签-值、键值对成员访问、语法高亮、实时求值与安全校验",
7
+ "keywords": [
8
+ "vue",
9
+ "vue3",
10
+ "formula",
11
+ "editor",
12
+ "formula-editor",
13
+ "rule-engine",
14
+ "expression",
15
+ "conditional",
16
+ "if-else"
17
+ ],
18
+ "license": "MIT",
19
+ "author": "rockn",
20
+ "files": [
21
+ "dist",
22
+ "README.md",
23
+ "LICENSE"
24
+ ],
25
+ "main": "./dist/index.cjs",
26
+ "module": "./dist/index.js",
27
+ "types": "./dist/index.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.js",
32
+ "require": "./dist/index.cjs"
33
+ },
34
+ "./engine": {
35
+ "types": "./dist/engine/index.d.ts",
36
+ "import": "./dist/engine/index.js",
37
+ "require": "./dist/engine/index.cjs"
38
+ },
39
+ "./package.json": "./package.json"
40
+ },
41
+ "sideEffects": false,
42
+ "scripts": {
43
+ "dev": "vite --port 5162",
44
+ "prebuild": "node -e \"require('fs/promises').rm('dist',{recursive:true,force:true}).then(()=>{console.log('dist cleaned');process.exit(0)}).catch(e=>{console.error(e);process.exit(1)})\"",
45
+ "build": "vue-tsc --noEmit && node --no-node-snapshot node_modules/vite/bin/vite.js build",
46
+ "build:lib": "vue-tsc --noEmit && node scripts/build-lib.mjs",
47
+ "preview": "vite preview",
48
+ "typecheck": "vue-tsc --noEmit",
49
+ "smoke": "esbuild scripts/smoke.ts --bundle --format=cjs --outfile=.smoke.js && node .smoke.js",
50
+ "prepack": "npm run build:lib"
51
+ },
52
+ "peerDependencies": {
53
+ "vue": "^3.4.0"
54
+ },
55
+ "devDependencies": {
56
+ "@vitejs/plugin-vue": "^5.1.2",
57
+ "typescript": "^5.5.4",
58
+ "vite": "^5.4.2",
59
+ "vue": "^3.4.38",
60
+ "vue-tsc": "^2.1.6"
61
+ }
62
+ }