@project-trans/suggestion-box
Advanced tools
Comparing version 0.0.9 to 0.1.0
@@ -1,11 +0,20 @@ | ||
declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{ | ||
attachImageButtonText?: string | undefined; | ||
sendButtonText?: string | undefined; | ||
sendingButtonText?: string | undefined; | ||
sentSuccessButtonText?: string | undefined; | ||
sentFailedButtonText?: string | undefined; | ||
targetUrl?: string | undefined; | ||
textContentPlaceholder?: string | undefined; | ||
contactContentPlaceholder?: string | undefined; | ||
}>, { | ||
declare const _default: import("vue").DefineComponent<{ | ||
attachImageButtonText?: string; | ||
sendButtonText?: string; | ||
sendingButtonText?: string; | ||
sentSuccessButtonText?: string; | ||
sentFailedButtonText?: string; | ||
targetUrl?: string; | ||
textContentPlaceholder?: string; | ||
contactContentPlaceholder?: string; | ||
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{ | ||
attachImageButtonText?: string; | ||
sendButtonText?: string; | ||
sendingButtonText?: string; | ||
sentSuccessButtonText?: string; | ||
sentFailedButtonText?: string; | ||
targetUrl?: string; | ||
textContentPlaceholder?: string; | ||
contactContentPlaceholder?: string; | ||
}> & Readonly<{}>, { | ||
attachImageButtonText: string; | ||
@@ -16,50 +25,6 @@ sendButtonText: string; | ||
sentFailedButtonText: string; | ||
textContentPlaceholder: string; | ||
contactContentPlaceholder: string; | ||
targetUrl: string; | ||
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{ | ||
attachImageButtonText?: string | undefined; | ||
sendButtonText?: string | undefined; | ||
sendingButtonText?: string | undefined; | ||
sentSuccessButtonText?: string | undefined; | ||
sentFailedButtonText?: string | undefined; | ||
targetUrl?: string | undefined; | ||
textContentPlaceholder?: string | undefined; | ||
contactContentPlaceholder?: string | undefined; | ||
}>, { | ||
attachImageButtonText: string; | ||
sendButtonText: string; | ||
sendingButtonText: string; | ||
sentSuccessButtonText: string; | ||
sentFailedButtonText: string; | ||
textContentPlaceholder: string; | ||
contactContentPlaceholder: string; | ||
targetUrl: string; | ||
}>>>, { | ||
attachImageButtonText: string; | ||
sendButtonText: string; | ||
sendingButtonText: string; | ||
sentSuccessButtonText: string; | ||
sentFailedButtonText: string; | ||
targetUrl: string; | ||
textContentPlaceholder: string; | ||
contactContentPlaceholder: string; | ||
}, {}>; | ||
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; | ||
export default _default; | ||
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T; | ||
type __VLS_TypePropsToRuntimeProps<T> = { | ||
[K in keyof T]-?: {} extends Pick<T, K> ? { | ||
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>; | ||
} : { | ||
type: import('vue').PropType<T[K]>; | ||
required: true; | ||
}; | ||
}; | ||
type __VLS_WithDefaults<P, D> = { | ||
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & { | ||
default: D[K]; | ||
}> : P[K]; | ||
}; | ||
type __VLS_Prettify<T> = { | ||
[K in keyof T]: T[K]; | ||
} & {}; |
@@ -0,4 +1,4 @@ | ||
import App from './App.vue'; | ||
import '@unocss/reset/tailwind.css'; | ||
import 'virtual:uno.css'; | ||
import App from './App.vue'; | ||
export default App; |
@@ -1,3 +0,2 @@ | ||
import 'virtual:uno.css'; | ||
import App from './App.vue'; | ||
export default App; |
@@ -1,233 +0,2 @@ | ||
import { defineComponent as j, ref as u, watch as B, openBlock as s, createElementBlock as o, withModifiers as U, createElementVNode as e, withDirectives as g, vModelText as y, toDisplayString as h, Fragment as x, renderList as S, createCommentVNode as F, normalizeClass as I, createVNode as L, Transition as P, withCtx as R } from "vue"; | ||
const V = ["placeholder"], D = { class: "inline-grid items-stretch sb-auto-height" }, E = ["placeholder"], N = { class: "m-2" }, O = { key: 0 }, A = { class: "cursor-pointer appearance-none m-0!" }, M = { class: "flex overflow-x-scroll space-x-4" }, $ = ["onClick"], q = /* @__PURE__ */ e("div", { | ||
"i-octicon:trash-24": "", | ||
class: "h-4 w-4 flex items-center justify-center" | ||
}, null, -1), G = [ | ||
q | ||
], H = ["src"], J = { | ||
class: "flex justify-around gap-2 rounded-b-md p-2 !<sm:flex-col", | ||
bg: "zinc-50 dark:zinc-900" | ||
}, K = ["aria-label"], Q = /* @__PURE__ */ e("div", { | ||
"i-octicon:image-24": "", | ||
class: "mr-1 flex items-center justify-center" | ||
}, null, -1), W = { text: "sm" }, X = ["aria-label", "disabled"], Y = { class: "flex items-center justify-center" }, Z = { | ||
key: 0, | ||
flex: "", | ||
"items-center": "", | ||
"space-x-1": "" | ||
}, ee = /* @__PURE__ */ e("div", { | ||
"i-octicon:check-circle-fill-24": "", | ||
class: "mr-1 flex items-center justify-center text-green-600" | ||
}, null, -1), te = { text: "sm" }, ne = { | ||
key: 1, | ||
flex: "", | ||
"items-center": "", | ||
"space-x-1": "" | ||
}, ae = /* @__PURE__ */ e("div", { | ||
"i-octicon:alert-fill-24": "", | ||
class: "mr-1 flex items-center justify-center text-red-600" | ||
}, null, -1), le = { text: "sm" }, se = { | ||
key: 2, | ||
flex: "", | ||
"items-center": "", | ||
"space-x-1": "" | ||
}, oe = /* @__PURE__ */ e("div", { | ||
"i-octicon:paper-airplane-24": "", | ||
class: "mr-1 flex items-center justify-center" | ||
}, null, -1), ie = { text: "sm" }, ce = /* @__PURE__ */ e("div", { | ||
"i-svg-spinners:180-ring-with-bg": "", | ||
class: "mr-1 flex items-center justify-center" | ||
}, null, -1), re = { text: "sm" }, de = /* @__PURE__ */ j({ | ||
__name: "App", | ||
props: { | ||
attachImageButtonText: { default: "附加图片" }, | ||
sendButtonText: { default: "发送" }, | ||
sendingButtonText: { default: "发送中..." }, | ||
sentSuccessButtonText: { default: "发送成功,谢谢反馈" }, | ||
sentFailedButtonText: { default: "发送失败,请稍后再试" }, | ||
targetUrl: { default: "" }, | ||
textContentPlaceholder: { default: "输入内容" }, | ||
contactContentPlaceholder: { default: "(可选)留下您的联系方式,方便我们直接与您联系" } | ||
}, | ||
setup(k) { | ||
const i = k, f = u(), v = u(""), p = u(""), a = u([]), m = u([]), d = u(!1), c = u(!1), r = u(!1); | ||
B( | ||
a, | ||
(n) => { | ||
m.value.forEach((t) => URL.revokeObjectURL(t)), m.value = n.map((t) => URL.createObjectURL(t)); | ||
}, | ||
{ | ||
deep: !0 | ||
} | ||
); | ||
function z(n) { | ||
const t = Array.from(n.target.files ?? []); | ||
if (a.value.length === 0) { | ||
a.value = t; | ||
return; | ||
} | ||
t.forEach((l) => { | ||
a.value.find((b) => b.name === l.name) || a.value.push(l); | ||
}); | ||
} | ||
function w() { | ||
f.value && (f.value.value = "", f == null || f.value.click()); | ||
} | ||
function C(n) { | ||
m.value.splice(n, 1), a.value.splice(n, 1); | ||
} | ||
async function T() { | ||
if (c.value = !1, r.value = !1, !v.value) | ||
return; | ||
const n = new FormData(); | ||
if (n.append("textContent", v.value), p.value && n.append("contactContent", p.value), a.value) | ||
for (let t = 0; t < a.value.length; t += 1) | ||
n.append("images", a.value[t]); | ||
try { | ||
d.value = !0, await fetch(i.targetUrl || "", { | ||
method: "POST", | ||
body: n, | ||
// otherwise the fetch() call will failed even | ||
// when the request has been sent successfully | ||
// due to the CORS policy | ||
mode: "no-cors" | ||
}), d.value = !1; | ||
} catch (t) { | ||
d.value = !1, r.value = !0, console.error(t), setTimeout(() => { | ||
c.value = !1, r.value = !1; | ||
}, 2e3); | ||
return; | ||
} | ||
c.value = !0, setTimeout(() => { | ||
c.value = !1, r.value = !1; | ||
}, 2e3); | ||
} | ||
return (n, t) => (s(), o("form", { | ||
class: "flex flex-col overflow-hidden rounded-lg", | ||
border: "2 solid zinc-200 dark:zinc-800", | ||
onSubmit: U(() => { | ||
}, ["prevent"]) | ||
}, [ | ||
e("label", null, [ | ||
g(e("input", { | ||
"onUpdate:modelValue": t[0] || (t[0] = (l) => p.value = l), | ||
class: "min-h-0 w-full resize-none rounded-t-md border-none p-2 outline-none", | ||
bg: "zinc-100 dark:zinc-900", | ||
text: "sm", | ||
placeholder: n.contactContentPlaceholder | ||
}, null, 8, V), [ | ||
[y, p.value] | ||
]) | ||
]), | ||
e("label", D, [ | ||
g(e("textarea", { | ||
"onUpdate:modelValue": t[1] || (t[1] = (l) => v.value = l), | ||
class: "min-h-0 resize-none rounded-t-md border-none p-2 outline-none", | ||
bg: "$vp-c-bg", | ||
placeholder: n.textContentPlaceholder | ||
}, null, 8, E), [ | ||
[y, v.value] | ||
]) | ||
]), | ||
e("div", N, [ | ||
m.value.length !== 0 ? (s(), o("details", O, [ | ||
e("summary", A, [ | ||
e("span", null, " 当前选中了 " + h(m.value.length) + " 张图片 ", 1) | ||
]), | ||
e("div", M, [ | ||
(s(!0), o(x, null, S(m.value, (l, _) => (s(), o("div", { | ||
key: l, | ||
class: "relative" | ||
}, [ | ||
e("button", { | ||
class: "absolute right-1 top-1 h-8 w-8 inline-flex items-center justify-center rounded-md duration-250", | ||
transition: "all ease-in-out", | ||
bg: "zinc-800 opacity-60 hover:opacity-80 active:opacity-50", | ||
text: "zinc-100", | ||
onClick: (b) => C(_) | ||
}, G, 8, $), | ||
e("img", { | ||
src: l, | ||
class: "block aspect-video h-full max-h-40 min-h-40 min-w-60 w-full overflow-hidden rounded-md object-cover", | ||
alt: "图片" | ||
}, null, 8, H) | ||
]))), 128)) | ||
]) | ||
])) : F("", !0) | ||
]), | ||
e("div", J, [ | ||
e("label", { | ||
"aria-label": i.attachImageButtonText, | ||
class: "w-full flex justify-center" | ||
}, [ | ||
e("input", { | ||
ref_key: "inputFile", | ||
ref: f, | ||
type: "file", | ||
accept: "image/*", | ||
multiple: "", | ||
hidden: "", | ||
onChange: z | ||
}, null, 544), | ||
e("button", { | ||
class: "w-full flex items-center justify-center rounded-md px-2 py-2 duration-250", | ||
transition: "all ease-in-out", | ||
bg: "zinc-200 hover:zinc-300 active:zinc-400 dark:zinc-800 dark:hover:zinc-700 dark:active:zinc-600", | ||
text: "zinc-700 dark:zinc-300 base", | ||
onClick: w | ||
}, [ | ||
Q, | ||
e("span", W, h(i.attachImageButtonText), 1) | ||
]) | ||
], 8, K), | ||
e("button", { | ||
type: "submit", | ||
"aria-label": i.sendButtonText, | ||
class: I([[ | ||
!v.value || d.value || c.value || r.value ? "cursor-not-allowed" : "", | ||
d.value || c.value || r.value ? "text-zinc-700 disabled:text-zinc-700 dark:text-zinc-300 dark:disabled:text-zinc-300" : "text-zinc-700 disabled:text-zinc-400 dark:text-zinc-300 dark:disabled:text-zinc-600" | ||
], "block w-full flex cursor-pointer justify-center rounded-md px-2 py-2 duration-250"]), | ||
transition: "all ease-in-out", | ||
bg: "zinc-200 hover:zinc-300 active:zinc-400 dark:zinc-800 dark:hover:zinc-700 dark:active:zinc-600", | ||
text: "base", | ||
disabled: !v.value || d.value || c.value || r.value, | ||
onClick: T | ||
}, [ | ||
e("div", Y, [ | ||
L(P, { | ||
mode: "out-in", | ||
"enter-active-class": "transition-all duration-200 ease-out", | ||
"leave-active-class": "transition-all duration-200 ease-out", | ||
"enter-from-class": "transform translate-y-10px opacity-0", | ||
"leave-to-class": "transform translate-y--10px opacity-0", | ||
"enter-to-class": "opacity-100", | ||
"leave-from-class": "opacity-100" | ||
}, { | ||
default: R(() => [ | ||
c.value ? (s(), o("span", Z, [ | ||
ee, | ||
e("span", te, h(i.sentSuccessButtonText), 1) | ||
])) : r.value ? (s(), o("span", ne, [ | ||
ae, | ||
e("span", le, h(i.sentFailedButtonText), 1) | ||
])) : (s(), o("span", se, [ | ||
d.value ? (s(), o(x, { key: 1 }, [ | ||
ce, | ||
e("span", re, h(i.sendingButtonText), 1) | ||
], 64)) : (s(), o(x, { key: 0 }, [ | ||
oe, | ||
e("span", ie, h(i.sendButtonText), 1) | ||
], 64)) | ||
])) | ||
]), | ||
_: 1 | ||
}) | ||
]) | ||
], 10, X) | ||
]) | ||
], 32)); | ||
} | ||
}); | ||
export { | ||
de as default | ||
}; | ||
import{defineComponent as w,ref as o,watch as T,openBlock as u,createElementBlock as i,withModifiers as E,createElementVNode as t,withDirectives as y,vModelText as g,toDisplayString as m,Fragment as b,renderList as D,createCommentVNode as j,normalizeClass as A,createVNode as U,Transition as _,withCtx as P}from"vue";const L=["placeholder"],R={class:"inline-grid items-stretch sb-auto-height"},S=["placeholder"],V={class:"m-2"},I={key:0},N={class:"cursor-pointer appearance-none m-0!"},O={class:"flex overflow-x-scroll space-x-4"},M=["onClick"],$=["src"],q={class:"flex justify-around gap-2 rounded-b-md p-2 !<sm:flex-col",bg:"zinc-50 dark:zinc-900"},G=["aria-label"],H={text:"sm"},J=["aria-label","disabled"],K={class:"flex items-center justify-center"},Q={key:0,flex:"","items-center":"","space-x-1":""},W={text:"sm"},X={key:1,flex:"","items-center":"","space-x-1":""},Y={text:"sm"},Z={key:2,flex:"","items-center":"","space-x-1":""},ee={text:"sm"},te={text:"sm"};var ae=w({__name:"App",props:{attachImageButtonText:{default:"\u9644\u52A0\u56FE\u7247"},sendButtonText:{default:"\u53D1\u9001"},sendingButtonText:{default:"\u53D1\u9001\u4E2D..."},sentSuccessButtonText:{default:"\u53D1\u9001\u6210\u529F\uFF0C\u8C22\u8C22\u53CD\u9988"},sentFailedButtonText:{default:"\u53D1\u9001\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5"},targetUrl:{default:""},textContentPlaceholder:{default:"\u8F93\u5165\u5185\u5BB9"},contactContentPlaceholder:{default:"\uFF08\u53EF\u9009\uFF09\u7559\u4E0B\u60A8\u7684\u8054\u7CFB\u65B9\u5F0F\uFF0C\u65B9\u4FBF\u6211\u4EEC\u76F4\u63A5\u4E0E\u60A8\u8054\u7CFB"}},setup(z){const c=z,p=o(),v=o(""),x=o(""),l=o([]),f=o([]),d=o(!1),s=o(!1),r=o(!1);T(l,a=>{f.value.forEach(e=>URL.revokeObjectURL(e)),f.value=a.map(e=>URL.createObjectURL(e))},{deep:!0});function k(a){const e=Array.from(a.target.files??[]);if(l.value.length===0){l.value=e;return}e.forEach(n=>{l.value.find(h=>h.name===n.name)||l.value.push(n)})}function F(){p.value&&(p.value.value="",p?.value.click())}function C(a){f.value.splice(a,1),l.value.splice(a,1)}async function B(){if(s.value=!1,r.value=!1,!v.value)return;const a=new FormData;if(a.append("textContent",v.value),x.value&&a.append("contactContent",x.value),l.value)for(let e=0;e<l.value.length;e+=1)a.append("images",l.value[e]);try{d.value=!0,await fetch(c.targetUrl||"",{method:"POST",body:a,mode:"no-cors"}),d.value=!1}catch(e){d.value=!1,r.value=!0,console.error(e),setTimeout(()=>{s.value=!1,r.value=!1},2e3);return}s.value=!0,setTimeout(()=>{s.value=!1,r.value=!1},2e3)}return(a,e)=>(u(),i("form",{class:"flex flex-col overflow-hidden rounded-lg",border:"2 solid zinc-200 dark:zinc-800",onSubmit:E(()=>{},["prevent"])},[t("label",null,[y(t("input",{"onUpdate:modelValue":e[0]||(e[0]=n=>x.value=n),class:"min-h-0 w-full resize-none rounded-t-md border-none p-2 outline-none",bg:"zinc-100 dark:zinc-900",text:"sm",placeholder:a.contactContentPlaceholder},null,8,L),[[g,x.value]])]),t("label",R,[y(t("textarea",{"onUpdate:modelValue":e[1]||(e[1]=n=>v.value=n),class:"min-h-0 resize-none rounded-t-md border-none p-2 outline-none",bg:"$vp-c-bg",placeholder:a.textContentPlaceholder},null,8,S),[[g,v.value]])]),t("div",V,[f.value.length!==0?(u(),i("details",I,[t("summary",N,[t("span",null," \u5F53\u524D\u9009\u4E2D\u4E86 "+m(f.value.length)+" \u5F20\u56FE\u7247 ",1)]),t("div",O,[(u(!0),i(b,null,D(f.value,(n,h)=>(u(),i("div",{key:n,class:"relative"},[t("button",{class:"absolute right-1 top-1 h-8 w-8 inline-flex items-center justify-center rounded-md duration-250",transition:"all ease-in-out",bg:"zinc-800 opacity-60 hover:opacity-80 active:opacity-50",text:"zinc-100",onClick:le=>C(h)},e[2]||(e[2]=[t("div",{"i-octicon:trash-24":"",class:"h-4 w-4 flex items-center justify-center"},null,-1)]),8,M),t("img",{src:n,class:"block aspect-video h-full max-h-40 min-h-40 min-w-60 w-full overflow-hidden rounded-md object-cover",alt:"\u56FE\u7247"},null,8,$)]))),128))])])):j("v-if",!0)]),t("div",q,[t("label",{"aria-label":c.attachImageButtonText,class:"w-full flex justify-center"},[t("input",{ref_key:"inputFile",ref:p,type:"file",accept:"image/*",multiple:"",hidden:"",onChange:k},null,544),t("button",{class:"w-full flex items-center justify-center rounded-md px-2 py-2 duration-250",transition:"all ease-in-out",bg:"zinc-200 hover:zinc-300 active:zinc-400 dark:zinc-800 dark:hover:zinc-700 dark:active:zinc-600",text:"zinc-700 dark:zinc-300 base",onClick:F},[e[3]||(e[3]=t("div",{"i-octicon:image-24":"",class:"mr-1 flex items-center justify-center"},null,-1)),t("span",H,m(c.attachImageButtonText),1)])],8,G),t("button",{type:"submit","aria-label":c.sendButtonText,class:A([[!v.value||d.value||s.value||r.value?"cursor-not-allowed":"",d.value||s.value||r.value?"text-zinc-700 disabled:text-zinc-700 dark:text-zinc-300 dark:disabled:text-zinc-300":"text-zinc-700 disabled:text-zinc-400 dark:text-zinc-300 dark:disabled:text-zinc-600"],"block w-full flex cursor-pointer justify-center rounded-md px-2 py-2 duration-250"]),transition:"all ease-in-out",bg:"zinc-200 hover:zinc-300 active:zinc-400 dark:zinc-800 dark:hover:zinc-700 dark:active:zinc-600",text:"base",disabled:!v.value||d.value||s.value||r.value,onClick:B},[t("div",K,[U(_,{mode:"out-in","enter-active-class":"transition-all duration-200 ease-out","leave-active-class":"transition-all duration-200 ease-out","enter-from-class":"transform translate-y-10px opacity-0","leave-to-class":"transform translate-y--10px opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100"},{default:P(()=>[s.value?(u(),i("span",Q,[e[4]||(e[4]=t("div",{"i-octicon:check-circle-fill-24":"",class:"mr-1 flex items-center justify-center text-green-600"},null,-1)),t("span",W,m(c.sentSuccessButtonText),1)])):r.value?(u(),i("span",X,[e[5]||(e[5]=t("div",{"i-octicon:alert-fill-24":"",class:"mr-1 flex items-center justify-center text-red-600"},null,-1)),t("span",Y,m(c.sentFailedButtonText),1)])):(u(),i("span",Z,[d.value?(u(),i(b,{key:1},[e[7]||(e[7]=t("div",{"i-svg-spinners:180-ring-with-bg":"",class:"mr-1 flex items-center justify-center"},null,-1)),t("span",te,m(c.sendingButtonText),1)],64)):(u(),i(b,{key:0},[e[6]||(e[6]=t("div",{"i-octicon:paper-airplane-24":"",class:"mr-1 flex items-center justify-center"},null,-1)),t("span",ee,m(c.sendButtonText),1)],64))]))]),_:1})])],10,J)])],32))}});export{ae as default}; | ||
//# sourceMappingURL=index.js.map |
@@ -1,8 +0,2 @@ | ||
function t() { | ||
return { | ||
name: "preset-suggestion-box", | ||
rules: [ | ||
[ | ||
/sb-auto-height/, | ||
([e]) => ` | ||
function t(){return{name:"preset-suggestion-box",rules:[[/sb-auto-height/,([e])=>` | ||
.${e}::after { | ||
@@ -17,9 +11,3 @@ content: attr(data-value) ' '; | ||
} | ||
` | ||
] | ||
] | ||
}; | ||
} | ||
export { | ||
t as default | ||
}; | ||
`]]}}export{t as default}; | ||
//# sourceMappingURL=preset.js.map |
{ | ||
"name": "@project-trans/suggestion-box", | ||
"type": "module", | ||
"version": "0.0.9", | ||
"packageManager": "pnpm@8.15.4", | ||
"version": "0.1.0", | ||
"description": "Suggestion box for Project Trans", | ||
@@ -28,2 +27,14 @@ "author": { | ||
}, | ||
"./aio": { | ||
"types": "./dist/aio.d.ts", | ||
"import": "./dist/aio.js", | ||
"require": "./dist/aio.umd.cjs", | ||
"default": "./dist/aio.umd.cjs" | ||
}, | ||
"./dist/aio": { | ||
"types": "./dist/aio.d.ts", | ||
"import": "./dist/aio.js", | ||
"require": "./dist/aio.umd.cjs", | ||
"default": "./dist/aio.umd.cjs" | ||
}, | ||
"./dist/preset": { | ||
@@ -47,15 +58,22 @@ "types": "./dist/preset.d.ts", | ||
"devDependencies": { | ||
"@antfu/eslint-config": "^2.8.0", | ||
"@iconify-json/octicon": "^1.1.52", | ||
"@iconify-json/svg-spinners": "^1.1.2", | ||
"@types/node": "^20.11.24", | ||
"@unocss/eslint-plugin": "^0.58.5", | ||
"@unocss/reset": "^0.58.5", | ||
"@vitejs/plugin-vue": "^5.0.4", | ||
"eslint": "^8.57.0", | ||
"rimraf": "^5.0.5", | ||
"typescript": "^5.3.3", | ||
"unocss": "^0.58.5", | ||
"vite": "^5.1.5", | ||
"vue-tsc": "^1.8.27" | ||
"@antfu/eslint-config": "^3.7.3", | ||
"@iconify-json/octicon": "^1.2.0", | ||
"@iconify-json/svg-spinners": "^1.2.0", | ||
"@rollup/plugin-node-resolve": "^15.3.0", | ||
"@rollup/plugin-replace": "^6.0.1", | ||
"@types/node": "^22.7.4", | ||
"@unocss/eslint-plugin": "^0.63.1", | ||
"@unocss/reset": "^0.63.1", | ||
"@vitejs/plugin-vue": "^5.1.4", | ||
"eslint": "^9.11.1", | ||
"lightningcss": "^1.27.0", | ||
"rimraf": "^6.0.1", | ||
"rollup": "^4.22.5", | ||
"rollup-plugin-esbuild": "^6.1.1", | ||
"tsx": "^4.19.1", | ||
"typescript": "^5.6.2", | ||
"unbuild": "3.0.0-rc.8", | ||
"unocss": "^0.63.1", | ||
"vite": "^5.4.8", | ||
"vue-tsc": "^2.1.6" | ||
}, | ||
@@ -65,3 +83,6 @@ "scripts": { | ||
"dev:server": "pnpm -F server run dev", | ||
"build": "vite build && vue-tsc --declaration --emitDeclarationOnly", | ||
"build": "pnpm build:script && pnpm build:style && pnpm build:types", | ||
"build:style": "tsx ./script/buildStyle.ts", | ||
"build:script": "rollup -c rollup.config.ts --configPlugin esbuild", | ||
"build:types": "vue-tsc", | ||
"preview": "vite preview", | ||
@@ -68,0 +89,0 @@ "lint": "eslint --cache . && pnpm -F server run lint", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1103401
21
451
20
6