@tachybase/module-multi-app 1.3.21 → 1.3.23
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/client/index.js +2 -2
- package/dist/client/usage/AppList.schema.d.ts +22 -22
- package/dist/externalVersion.js +6 -8
- package/dist/node_modules/mariadb/package.json +1 -1
- package/dist/node_modules/mariadb/promise.js +23 -23
- package/dist/node_modules/qs/package.json +1 -1
- package/dist/server/actions/apps.d.ts +1 -1
- package/dist/server/actions/apps.js +1 -1
- package/dist/server/app-lifecycle.d.ts +1 -1
- package/dist/server/app-lifecycle.js +1 -1
- package/dist/server/app-start-env.d.ts +2 -2
- package/dist/server/collections/applications.d.ts +1 -1
- package/dist/server/collections/applications.js +3 -4
- package/dist/server/collections/applicationsPartners.d.ts +1 -1
- package/dist/server/collections/applicationsPartners.js +2 -2
- package/dist/server/middlewares/inject-app-list.js +1 -1
- package/dist/server/migrations/20240820153000-add-apps-tmpl.d.ts +1 -1
- package/dist/server/migrations/20240820153000-add-apps-tmpl.js +1 -1
- package/dist/server/migrations/20241126124904-add-createdBy.d.ts +1 -1
- package/dist/server/migrations/20241126124904-add-createdBy.js +1 -1
- package/dist/server/migrations/20250618145656-fix-tmpl.d.ts +1 -1
- package/dist/server/migrations/20250618145656-fix-tmpl.js +1 -1
- package/dist/server/models/application.d.ts +2 -3
- package/dist/server/models/application.js +4 -6
- package/dist/server/server.d.ts +1 -2
- package/dist/server/server.js +2 -3
- package/package.json +12 -18
package/dist/client/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
(function(i,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("@tachybase/client"),require("react/jsx-runtime"),require("antd"),require("react-router-dom"),require("react-i18next"),require("react"),require("@tachybase/schema"),require("@
|
|
1
|
+
(function(i,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("@tachybase/client"),require("react/jsx-runtime"),require("antd"),require("react-router-dom"),require("react-i18next"),require("react"),require("@tachybase/schema"),require("@tego/client"),require("@ant-design/icons")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","react/jsx-runtime","antd","react-router-dom","react-i18next","react","@tachybase/schema","@tego/client","@ant-design/icons"],t):(i=typeof globalThis!="undefined"?globalThis:i||self,t(i["@tachybase/module-multi-app"]={},i["@tachybase/client"],i.jsxRuntime,i.antd,i["react-router-dom"],i["react-i18next"],i.react,i["@tachybase/schema"],i["@tego/client"],i["@ant-design/icons"]))})(this,function(i,t,o,c,I,F,b,y,f,m){"use strict";var fe=Object.defineProperty,he=Object.defineProperties;var Ae=Object.getOwnPropertyDescriptors;var q=Object.getOwnPropertySymbols;var ge=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable;var E=(i,t,o)=>t in i?fe(i,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[t]=o,A=(i,t)=>{for(var o in t||(t={}))ge.call(t,o)&&E(i,o,t[o]);if(q)for(var o of q(t))be.call(t,o)&&E(i,o,t[o]);return i},v=(i,t)=>he(i,Ae(t));var g=(i,t,o)=>new Promise((c,I)=>{var F=f=>{try{y(o.next(f))}catch(m){I(m)}},b=f=>{try{y(o.throw(f))}catch(m){I(m)}},y=f=>f.done?c(f.value):Promise.resolve(f.value).then(F,b);y((o=o.apply(i,t)).next())});const S="multi-app",K="subAppsChange",h="subAppsChange",C=()=>{const{t:e}=F.useTranslation([S,"core"]);return{t:e}},l=e=>`{{t("${e}", { ns: ["${S}", "client"] })}}`,_={type:"void","x-component":"CardItem","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:table",properties:{app:{type:"void","x-component":"AppManager","x-component-props":{admin:!1}}}},M=()=>{const{insert:e}=t.useSchemaInitializer(),n=t.useSchemaInitializerItem(),r=b.useCallback(()=>e(_),[e]);return o.jsx(t.SchemaInitializerItem,v(A({},n),{onClick:r}))},U=e=>{const n=t.useApp(),r=e.value&&o.jsx("a",{target:"_blank",href:n.getRouteUrl(`/apps/${e.value}/admin`),rel:"noreferrer",children:e.value});return o.jsxs("div",{style:e.style,children:[e.addonBefore,e.prefix,r,e.suffix,e.addonAfter]})},j=y.connect(c.Input,y.mapReadPretty(U)),H=t.createStyles(({token:e})=>({button:{color:e.colorTextHeaderMenu+" !important"}})),G=()=>{const{styles:e}=H(),{data:n,run:r}=t.useRequest({resource:"applications",action:"listPinned"},{manual:!0}),{t:s}=C(),a=t.useApp(),d=[...((n==null?void 0:n.data)||[]).map(p=>{let u=a.getRouteUrl(`/apps/${p.name}/admin/`);return p.cname&&(u=`//${p.cname}`),{key:p.name,label:o.jsx("a",{href:u,target:"_blank",rel:"noopener noreferrer",children:p.displayName||p.name})}}),{key:".manager",label:o.jsx(I.Link,{to:a.systemSettingsManager.getRoutePath("system-services."+S),children:s("Manage applications")})}];return o.jsx(c.Dropdown,{onOpenChange:p=>{r()},menu:{items:d},children:o.jsx(c.Button,{className:e.button,title:"Apps",icon:o.jsx(t.Icon,{type:"AppstoreOutlined"})})})},Y=e=>o.jsx(t.PinnedPluginListProvider,{items:{am:{order:201,component:"MultiAppManager",pin:!0,snippet:"pm.*",belongTo:"pinnedmenu"}},children:o.jsx(t.SchemaComponentOptions,{components:{MultiAppManager:G,AppNameInput:j,MultiAppBlockInitializer:M},children:e.children})});class W extends t.Plugin{load(){return g(this,null,function*(){this.app.use(Y)})}}const D={name:"applications",filterTargetKey:"name",targetKey:"name",fields:[{type:"uid",name:"name",primaryKey:!0,prefix:"a",interface:"input",uiSchema:{type:"string",title:l("App ID"),required:!0,"x-component":"Input","x-validator":"uid"}},{type:"string",name:"displayName",interface:"input",uiSchema:{type:"string",title:l("App display name"),required:!0,"x-component":"Input"}},{type:"string",name:"pinned",interface:"checkbox",uiSchema:{type:"boolean","x-content":l("Pin to menu"),"x-component":"Checkbox"}},{type:"string",name:"status",interface:"radioGroup",defaultValue:"pending",uiSchema:{type:"string",title:l("App status"),enum:[{label:l("Initializing"),value:"initializing"},{label:l("Initialized"),value:"initialized"},{label:l("Running"),value:"running"},{label:l("Commanding"),value:"commanding"},{label:l("Stopped"),value:"stopped"},{label:l("Error"),value:"error"},{label:l("Not found"),value:"not_found"}],"x-component":"Radio.Group"}},{type:"string",name:"isTemplate",interface:"checkbox",uiSchema:{type:"boolean","x-content":l("Is template"),"x-component":"Checkbox"}},{interface:"m2m",type:"belongsToMany",name:"partners",target:"users",through:"applicationsPartners",foreignKey:"applicationName",otherKey:"userId",collectionName:"applications",targetKey:"id",sourceKey:"name",uiSchema:{type:"array",title:l("Collaborator"),"x-component":"AssociationField","x-component-props":{service:{params:{fields:["id","username","nickname"]}},multiple:!0,fieldNames:{label:"username",value:"id"}}}}]},w={type:"void","x-component":"div",properties:{displayName:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}","x-hidden":"{{ !admin }}"},cnamePrefix:{title:l("Custom domain prefix"),"x-component":"Input","x-decorator":"FormItem","x-validator":`{{(value) => {
|
|
2
2
|
if (!value) {
|
|
3
3
|
return null;
|
|
4
4
|
}
|
|
5
5
|
if (!/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/.test(value)) {
|
|
6
6
|
return t("Custom domain prefix must be 1-63 characters, lowercase letters, numbers, or hyphens (-), and cannot start or end with a hyphen (-)");
|
|
7
7
|
}
|
|
8
|
-
}}}`,"x-component-props":{addonAfter:`.${window.location.hostname}`},"x-reactions":[{dependencies:["cname"],fulfill:{state:{value:'{{ ($deps[0] && $deps[0].replace(new RegExp("\\."+window.location.hostname+"$"), "")) || "" }}'}}}]},cname:{"x-hidden":!0,"x-component":"Input","x-decorator":"FormItem","x-read-pretty":!0,"x-reactions":{dependencies:["cnamePrefix"],fulfill:{state:{value:`{{$deps[0] ? $deps[0] + ".${window.location.hostname}" : null}}`}}}},tmpl:{title:l("Template"),"x-component":"RemoteSelect","x-component-props":{placeholder:l("Can be empty, or selected from the template library or personal applications"),fieldNames:{label:"displayName",value:"name"},service:{resource:"applications",params:{filter:{$or:[{isTemplate:!0},{createdById:"{{ userId }}"}]}}}},"x-decorator":"FormItem","x-disabled":"{{ !createOnly }}"},"options.startEnvs":{type:"string",title:l("Start environment variables"),"x-component":"Input.TextArea","x-decorator":"FormItem","x-hidden":!0},pinned:{"x-component":"CollectionField","x-decorator":"FormItem","x-hidden":"{{ !admin }}"},isTemplate:{"x-component":"CollectionField","x-decorator":"FormItem","x-hidden":"{{ !admin }}"},icon:{type:"string",title:'{{ t("Icon") }}',"x-component":"IconPicker","x-decorator":"FormItem"},color:{type:"string",title:'{{ t("Color") }}',"x-component":"ColorPicker","x-decorator":"FormItem",default:"#e5e5e5"}}},B={properties:{view:{type:"void","x-component":"AppVisitor","x-component-props":{admin:"{{ admin }}"}},update:{type:"void",title:'{{t("Edit")}}',"x-component":"Action.Link",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{t("Edit")}}',properties:{formSchema:w,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":"useMultiAppUpdateAction","x-component-props":{type:"primary"}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},share:{type:"void",title:'{{t("Share")}}',"x-component":"Action.Link",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{t("Share")}}',properties:{partners:{"x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":"applications.partners"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":"useMultiAppUpdateAction","x-component-props":{type:"primary"}}}}}}}}}},J={type:"void",properties:{applicationsTable:{type:"void","x-decorator":"TableBlockProvider","x-decorator-props":{collection:D,action:"list",params:{pageSize:20,sort:["-createdAt"],appends:["partners.id","partners.username"],filter:"{{ admin ? {} : { '$or': [ { createdById: userId }, { 'partners.id': { '$in': [userId] } } ] } }}"},rowKey:"name"},properties:{GlobalNotificationHandler:{type:"void","x-component":"GlobalNotificationHandler"},actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{fuzzySearch:{type:"void","x-component":"FuzzySearchInput","x-align":"left"},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action","x-decorator":"ACLActionProvider","x-use-component-props":"useBulkDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}},"x-hidden":"{{ !admin }}"},startAll:{type:"void",title:'{{ t("Start all") }}',"x-component":"Action","x-use-component-props":"useStartAllAction","x-component-props":{icon:"FastForwardOutlined",danger:!0,confirm:{title:l("Start all"),content:l("Starting all sub-applications may cause lag. The more applications you have, the longer the waiting time")}},"x-hidden":"{{ !admin }}"},stopAll:{type:"void",title:'{{ t("Stop all") }}',"x-component":"Action","x-use-component-props":"useStopAllAction","x-component-props":{icon:"StopOutlined",danger:!0,confirm:{title:l("Stop all"),content:l("All sub-applications have stopped serving, unless you restart them")}},"x-hidden":"{{ !admin }}"},create:{type:"void",title:'{{t("Add new")}}',"x-decorator":e=>b.createElement(t.SchemaComponentOptions,v(A({},e),{scope:{createOnly:!0}})),"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues(e){const n=t.useActionContext();return t.useRequest(()=>Promise.resolve({data:{name:`a_${y.uid()}`}}),v(A({},e),{refreshDeps:[n.visible]}))}},title:'{{t("Add new")}}',properties:{formSchema:w,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-use-component-props":"useCreateDatabaseConnectionAction","x-component-props":{type:"primary"}}}}}}}}}},table:{type:"array","x-uid":"input","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"}},properties:{displayName:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},name:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},pinned:{type:"void",title:l("Pin to menu"),"x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{pinned:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},isTemplate:{type:"void",title:l("Is template"),"x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{isTemplate:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},status:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{status:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"TableV2.Column",properties:{actions:A({type:"void","x-component":"Space","x-component-props":{split:"|"}},B)}}}}}}}},Q=()=>{const e=y.useForm(),n=y.useField(),r=t.useActionContext(),s=t.useDataBlockRequest(),a=t.useDataBlockResource();return{onClick(){return g(this,null,function*(){try{yield e.submit(),n.data=n.data||{},n.data.loading=!0,yield a.create({values:e.values}),r.setVisible(!1),yield e.reset(),n.data.loading=!1,s.refresh()}catch(p){n.data&&(n.data.loading=!1)}})}}},z=e=>{const{t:n}=C(),r=t.useAPIClient(),s=b.useMemo(()=>r.resource("applications"),[r]);return{handleStart:()=>g(null,null,function*(){try{c.notification.info({key:f,message:o.jsxs("span",{children:[n("Processing...")," ",o.jsx(c.Spin,{indicator:o.jsx(m.LoadingOutlined,{style:{fontSize:24},spin:!0})})]}),duration:0});const p=yield s.start({filterByTk:e.name});(p==null?void 0:p.status)===205&&c.notification.info({key:f,message:n("App is already running")})}catch(p){c.notification.error({key:f,message:n("Failed to start app")})}}),handleStop:()=>{s.stop({filterByTk:e.name}).then(()=>{c.notification.info({key:f,message:o.jsxs("span",{children:[n("Processing...")," ",o.jsx(c.Spin,{indicator:o.jsx(m.LoadingOutlined,{style:{fontSize:24},spin:!0})})]}),duration:0})})}}},V=e=>{const n=y.useField(),r=y.useForm(),s=t.useActionContext(),a=t.useDataBlockRequest(),d=t.useDataBlockResource(),p=t.useCollectionRecordData(),{record:u}=t.useRecord(),x=(p==null?void 0:p.name)||(u==null?void 0:u.name);return{onClick(){return g(this,null,function*(){var T;yield r.submit(),n.data=n.data||{},n.data.loading=!0;try{const k=yield d.update({filterByTk:x,values:r.values});s.setVisible(!1),yield r.reset(),a.refresh(),e==null||e(x,(T=k==null?void 0:k.data)==null?void 0:T.data)}catch(k){console.error(k)}finally{n.data.loading=!1}})}}};function N({name:e,cname:n}){const r=t.useApp();return n?`//${n}`:r.getRouteUrl(`/apps/${e}/admin/`)}const O=()=>{const e=t.useDataBlockResource(),{t:n}=C();return{onClick(){return g(this,null,function*(){var a,d;const s=yield e.startAll();c.notification.info({key:f,message:o.jsxs("span",{children:[n("Processing...")," ",o.jsx(c.Spin,{indicator:o.jsx(m.LoadingOutlined,{style:{fontSize:24},spin:!0})})]}),duration:0}),((d=(a=s==null?void 0:s.data)==null?void 0:a.data)==null?void 0:d.all)===0&&c.notification.info({key:f,message:`${n("Start count")}: 0/0!`})})}}},$=()=>{const e=t.useDataBlockResource(),{t:n}=C();return{onClick(){return g(this,null,function*(){var a,d;const s=yield e.stopAll();if(((d=(a=s==null?void 0:s.data)==null?void 0:a.data)==null?void 0:d.all)===0){c.notification.info({key:f,message:`${n("Stop count")}: 0/0!`});return}c.notification.info({key:f,message:o.jsxs("span",{children:[n("Processing...")," ",o.jsx(c.Spin,{indicator:o.jsx(m.LoadingOutlined,{style:{fontSize:24},spin:!0})})]}),duration:0})})}}},X=()=>{const e=t.useCollectionRecordData();return N({name:e.name,cname:e.cname})},Z=()=>{const{t:e}=C(),n=X(),r=t.useCollectionRecordData(),{handleStart:s,handleStop:a}=z(r);return o.jsxs(c.Space,{split:o.jsx(c.Divider,{type:"horizontal"}),children:[o.jsx(t.TrackingLink,{href:n,target:"_blank",rel:"noreferrer",trackingKey:"multiapp_linkView",children:e("View",{ns:S})}),r.status!=="running"&&o.jsx("a",{onClick:()=>s(),children:e("Start",{ns:S})}),r.status!=="stopped"&&o.jsx("a",{onClick:()=>a(),children:e("Stop",{ns:S})})]})},R=e=>{const{data:n,mutate:r,refresh:s}=t.useDataBlockRequest();return t.useNoticeSub(K,a=>{const d=c.notification[a.level]||c.notification.info;if(a.message?d({key:f,message:a.message}):a.status!=="commanding"&&a.status!=="initializing"&&c.notification.destroy(f),!(n!=null&&n.data)||a.refresh){s();return}if(!a.app&&!a.status||!n.data.some(x=>x.name===a.app))return;const u=[...n.data];u.find(x=>x.name===a.app).status=a.status,r(v(A({},n),{data:u}))}),null},L=e=>{var d,p;const{admin:n=!0}=e,r=t.useCurrentUserContext(),s=(p=(d=r==null?void 0:r.data)==null?void 0:d.data)==null?void 0:p.id,{t:a}=C();return o.jsx(c.Card,{bordered:!1,children:o.jsx(t.ExtendCollectionsProvider,{collections:[D],children:o.jsx(t.SchemaComponent,{schema:J,scope:{admin:n,userId:s,useCreateDatabaseConnectionAction:Q,useMultiAppUpdateAction:V,useStartAllAction:O,useStopAllAction:$,t:a,uid:h.uid},components:{AppVisitor:Z,GlobalNotificationHandler:R}})})})};class ee extends t.Plugin{load(){return g(this,null,function*(){this.app.systemSettingsManager.add(`system-services.${S}`,{title:l("Multi-app manager"),icon:"AppstoreOutlined",Component:L,aclSnippet:"pm.multi-app.applications"})})}}const te={type:"void","x-component":"CardItem","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:table",properties:{app:{type:"void","x-component":"ViewMultiAppPane","x-component-props":{admin:!1}}}},oe=()=>{const{insert:e}=t.useSchemaInitializer(),n=t.useSchemaInitializerItem(),r=b.useCallback(()=>e(te),[e]);return o.jsx(t.SchemaInitializerItem,v(A({},n),{onClick:r}))},ne={type:"void",properties:{update:{type:"void","x-component":"Action","x-component-props":{icon:"editoutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{t("Edit")}}',properties:{formSchema:w,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":"useMultiAppUpdateAction","x-component-props":{type:"primary"}}}}}}}},delete:{type:"void","x-component":"Action","x-use-component-props":"useDestroyActionProps","x-component-props":{icon:"deleteoutlined",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}},re={type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{create:{type:"void",title:'{{t("Add new")}}',"x-decorator":e=>b.createElement(t.SchemaComponentOptions,v(A({},e),{scope:{createOnly:!0}})),"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues(e){const n=t.useActionContext();return t.useRequest(()=>Promise.resolve({data:{name:`a_${h.uid()}`}}),v(A({},e),{refreshDeps:[n.visible]}))}},title:'{{t("Add new")}}',properties:{formSchema:w,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-use-component-props":"useCreateDatabaseConnectionAction","x-component-props":{type:"primary"}}}}}}}}}},ae=t.createStyles(({css:e,token:n})=>({appAction:e`
|
|
8
|
+
}}}`,"x-component-props":{addonAfter:`.${window.location.hostname}`},"x-reactions":[{dependencies:["cname"],fulfill:{state:{value:'{{ ($deps[0] && $deps[0].replace(new RegExp("\\."+window.location.hostname+"$"), "")) || "" }}'}}}]},cname:{"x-hidden":!0,"x-component":"Input","x-decorator":"FormItem","x-read-pretty":!0,"x-reactions":{dependencies:["cnamePrefix"],fulfill:{state:{value:`{{$deps[0] ? $deps[0] + ".${window.location.hostname}" : null}}`}}}},tmpl:{title:l("Template"),"x-component":"RemoteSelect","x-component-props":{placeholder:l("Can be empty, or selected from the template library or personal applications"),fieldNames:{label:"displayName",value:"name"},service:{resource:"applications",params:{filter:{$or:[{isTemplate:!0},{createdById:"{{ userId }}"}]}}}},"x-decorator":"FormItem","x-disabled":"{{ !createOnly }}"},"options.startEnvs":{type:"string",title:l("Start environment variables"),"x-component":"Input.TextArea","x-decorator":"FormItem","x-hidden":!0},pinned:{"x-component":"CollectionField","x-decorator":"FormItem","x-hidden":"{{ !admin }}"},isTemplate:{"x-component":"CollectionField","x-decorator":"FormItem","x-hidden":"{{ !admin }}"},icon:{type:"string",title:'{{ t("Icon") }}',"x-component":"IconPicker","x-decorator":"FormItem"},color:{type:"string",title:'{{ t("Color") }}',"x-component":"ColorPicker","x-decorator":"FormItem",default:"#e5e5e5"}}},B={properties:{view:{type:"void","x-component":"AppVisitor","x-component-props":{admin:"{{ admin }}"}},update:{type:"void",title:'{{t("Edit")}}',"x-component":"Action.Link",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{t("Edit")}}',properties:{formSchema:w,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":"useMultiAppUpdateAction","x-component-props":{type:"primary"}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},share:{type:"void",title:'{{t("Share")}}',"x-component":"Action.Link",properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{t("Share")}}',properties:{partners:{"x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":"applications.partners"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":"useMultiAppUpdateAction","x-component-props":{type:"primary"}}}}}}}}}},J={type:"void",properties:{applicationsTable:{type:"void","x-decorator":"TableBlockProvider","x-decorator-props":{collection:D,action:"list",params:{pageSize:20,sort:["-createdAt"],appends:["partners.id","partners.username"],filter:"{{ admin ? {} : { '$or': [ { createdById: userId }, { 'partners.id': { '$in': [userId] } } ] } }}"},rowKey:"name"},properties:{GlobalNotificationHandler:{type:"void","x-component":"GlobalNotificationHandler"},actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{fuzzySearch:{type:"void","x-component":"FuzzySearchInput","x-align":"left"},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action","x-decorator":"ACLActionProvider","x-use-component-props":"useBulkDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}},"x-hidden":"{{ !admin }}"},startAll:{type:"void",title:'{{ t("Start all") }}',"x-component":"Action","x-use-component-props":"useStartAllAction","x-component-props":{icon:"FastForwardOutlined",danger:!0,confirm:{title:l("Start all"),content:l("Starting all sub-applications may cause lag. The more applications you have, the longer the waiting time")}},"x-hidden":"{{ !admin }}"},stopAll:{type:"void",title:'{{ t("Stop all") }}',"x-component":"Action","x-use-component-props":"useStopAllAction","x-component-props":{icon:"StopOutlined",danger:!0,confirm:{title:l("Stop all"),content:l("All sub-applications have stopped serving, unless you restart them")}},"x-hidden":"{{ !admin }}"},create:{type:"void",title:'{{t("Add new")}}',"x-decorator":e=>b.createElement(t.SchemaComponentOptions,v(A({},e),{scope:{createOnly:!0}})),"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues(e){const n=t.useActionContext();return t.useRequest(()=>Promise.resolve({data:{name:`a_${y.uid()}`}}),v(A({},e),{refreshDeps:[n.visible]}))}},title:'{{t("Add new")}}',properties:{formSchema:w,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-use-component-props":"useCreateDatabaseConnectionAction","x-component-props":{type:"primary"}}}}}}}}}},table:{type:"array","x-uid":"input","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"}},properties:{displayName:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},name:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},pinned:{type:"void",title:l("Pin to menu"),"x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{pinned:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},isTemplate:{type:"void",title:l("Is template"),"x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{isTemplate:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},status:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{status:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"TableV2.Column",properties:{actions:A({type:"void","x-component":"Space","x-component-props":{split:"|"}},B)}}}}}}}},Q=()=>{const e=y.useForm(),n=y.useField(),r=t.useActionContext(),s=t.useDataBlockRequest(),a=t.useDataBlockResource();return{onClick(){return g(this,null,function*(){try{yield e.submit(),n.data=n.data||{},n.data.loading=!0,yield a.create({values:e.values}),r.setVisible(!1),yield e.reset(),n.data.loading=!1,s.refresh()}catch(p){n.data&&(n.data.loading=!1)}})}}},z=e=>{const{t:n}=C(),r=t.useAPIClient(),s=b.useMemo(()=>r.resource("applications"),[r]);return{handleStart:()=>g(null,null,function*(){try{c.notification.info({key:h,message:o.jsxs("span",{children:[n("Processing...")," ",o.jsx(c.Spin,{indicator:o.jsx(m.LoadingOutlined,{style:{fontSize:24},spin:!0})})]}),duration:0});const p=yield s.start({filterByTk:e.name});(p==null?void 0:p.status)===205&&c.notification.info({key:h,message:n("App is already running")})}catch(p){c.notification.error({key:h,message:n("Failed to start app")})}}),handleStop:()=>{s.stop({filterByTk:e.name}).then(()=>{c.notification.info({key:h,message:o.jsxs("span",{children:[n("Processing...")," ",o.jsx(c.Spin,{indicator:o.jsx(m.LoadingOutlined,{style:{fontSize:24},spin:!0})})]}),duration:0})})}}},V=e=>{const n=y.useField(),r=y.useForm(),s=t.useActionContext(),a=t.useDataBlockRequest(),d=t.useDataBlockResource(),p=t.useCollectionRecordData(),{record:u}=t.useRecord(),x=(p==null?void 0:p.name)||(u==null?void 0:u.name);return{onClick(){return g(this,null,function*(){var T;yield r.submit(),n.data=n.data||{},n.data.loading=!0;try{const k=yield d.update({filterByTk:x,values:r.values});s.setVisible(!1),yield r.reset(),a.refresh(),e==null||e(x,(T=k==null?void 0:k.data)==null?void 0:T.data)}catch(k){console.error(k)}finally{n.data.loading=!1}})}}};function N({name:e,cname:n}){const r=t.useApp();return n?`//${n}`:r.getRouteUrl(`/apps/${e}/admin/`)}const O=()=>{const e=t.useDataBlockResource(),{t:n}=C();return{onClick(){return g(this,null,function*(){var a,d;const s=yield e.startAll();c.notification.info({key:h,message:o.jsxs("span",{children:[n("Processing...")," ",o.jsx(c.Spin,{indicator:o.jsx(m.LoadingOutlined,{style:{fontSize:24},spin:!0})})]}),duration:0}),((d=(a=s==null?void 0:s.data)==null?void 0:a.data)==null?void 0:d.all)===0&&c.notification.info({key:h,message:`${n("Start count")}: 0/0!`})})}}},$=()=>{const e=t.useDataBlockResource(),{t:n}=C();return{onClick(){return g(this,null,function*(){var a,d;const s=yield e.stopAll();if(((d=(a=s==null?void 0:s.data)==null?void 0:a.data)==null?void 0:d.all)===0){c.notification.info({key:h,message:`${n("Stop count")}: 0/0!`});return}c.notification.info({key:h,message:o.jsxs("span",{children:[n("Processing...")," ",o.jsx(c.Spin,{indicator:o.jsx(m.LoadingOutlined,{style:{fontSize:24},spin:!0})})]}),duration:0})})}}},X=()=>{const e=t.useCollectionRecordData();return N({name:e.name,cname:e.cname})},Z=()=>{const{t:e}=C(),n=X(),r=t.useCollectionRecordData(),{handleStart:s,handleStop:a}=z(r);return o.jsxs(c.Space,{split:o.jsx(c.Divider,{type:"horizontal"}),children:[o.jsx(t.TrackingLink,{href:n,target:"_blank",rel:"noreferrer",trackingKey:"multiapp_linkView",children:e("View",{ns:S})}),r.status!=="running"&&o.jsx("a",{onClick:()=>s(),children:e("Start",{ns:S})}),r.status!=="stopped"&&o.jsx("a",{onClick:()=>a(),children:e("Stop",{ns:S})})]})},R=e=>{const{data:n,mutate:r,refresh:s}=t.useDataBlockRequest();return t.useNoticeSub(K,a=>{const d=c.notification[a.level]||c.notification.info;if(a.message?d({key:h,message:a.message}):a.status!=="commanding"&&a.status!=="initializing"&&c.notification.destroy(h),!(n!=null&&n.data)||a.refresh){s();return}if(!a.app&&!a.status||!n.data.some(x=>x.name===a.app))return;const u=[...n.data];u.find(x=>x.name===a.app).status=a.status,r(v(A({},n),{data:u}))}),null},L=e=>{var d,p;const{admin:n=!0}=e,r=t.useCurrentUserContext(),s=(p=(d=r==null?void 0:r.data)==null?void 0:d.data)==null?void 0:p.id,{t:a}=C();return o.jsx(c.Card,{bordered:!1,children:o.jsx(t.ExtendCollectionsProvider,{collections:[D],children:o.jsx(t.SchemaComponent,{schema:J,scope:{admin:n,userId:s,useCreateDatabaseConnectionAction:Q,useMultiAppUpdateAction:V,useStartAllAction:O,useStopAllAction:$,t:a,uid:f.uid},components:{AppVisitor:Z,GlobalNotificationHandler:R}})})})};class ee extends t.Plugin{load(){return g(this,null,function*(){this.app.systemSettingsManager.add(`system-services.${S}`,{title:l("Multi-app manager"),icon:"AppstoreOutlined",Component:L,aclSnippet:"pm.multi-app.applications"})})}}const te={type:"void","x-component":"CardItem","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:table",properties:{app:{type:"void","x-component":"ViewMultiAppPane","x-component-props":{admin:!1}}}},oe=()=>{const{insert:e}=t.useSchemaInitializer(),n=t.useSchemaInitializerItem(),r=b.useCallback(()=>e(te),[e]);return o.jsx(t.SchemaInitializerItem,v(A({},n),{onClick:r}))},ne={type:"void",properties:{update:{type:"void","x-component":"Action","x-component-props":{icon:"editoutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{t("Edit")}}',properties:{formSchema:w,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":"useMultiAppUpdateAction","x-component-props":{type:"primary"}}}}}}}},delete:{type:"void","x-component":"Action","x-use-component-props":"useDestroyActionProps","x-component-props":{icon:"deleteoutlined",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}},re={type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{create:{type:"void",title:'{{t("Add new")}}',"x-decorator":e=>b.createElement(t.SchemaComponentOptions,v(A({},e),{scope:{createOnly:!0}})),"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues(e){const n=t.useActionContext();return t.useRequest(()=>Promise.resolve({data:{name:`a_${f.uid()}`}}),v(A({},e),{refreshDeps:[n.visible]}))}},title:'{{t("Add new")}}',properties:{formSchema:w,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-use-component-props":"useCreateDatabaseConnectionAction","x-component-props":{type:"primary"}}}}}}}}}},ae=t.createStyles(({css:e,token:n})=>({appAction:e`
|
|
9
9
|
width: 100%;
|
|
10
10
|
display: flex;
|
|
11
11
|
justify-content: flex-end;
|
|
@@ -18,19 +18,19 @@ export declare const appListSchema: {
|
|
|
18
18
|
};
|
|
19
19
|
title: string;
|
|
20
20
|
properties: {
|
|
21
|
-
formSchema: import("
|
|
21
|
+
formSchema: import("@tachybase/schema").Stringify<{
|
|
22
22
|
[key: symbol]: any;
|
|
23
23
|
[key: `x-${string}`]: any;
|
|
24
24
|
[key: `x-${number}`]: any;
|
|
25
25
|
version?: string;
|
|
26
|
-
name?: import("
|
|
26
|
+
name?: import("@tachybase/schema").SchemaKey;
|
|
27
27
|
title?: any;
|
|
28
28
|
description?: any;
|
|
29
29
|
default?: any;
|
|
30
30
|
readOnly?: boolean;
|
|
31
31
|
writeOnly?: boolean;
|
|
32
|
-
type?: import("
|
|
33
|
-
enum?: import("
|
|
32
|
+
type?: import("@tachybase/schema").SchemaTypes;
|
|
33
|
+
enum?: import("@tachybase/schema").SchemaEnum<any>;
|
|
34
34
|
const?: any;
|
|
35
35
|
multipleOf?: number;
|
|
36
36
|
maximum?: number;
|
|
@@ -49,12 +49,12 @@ export declare const appListSchema: {
|
|
|
49
49
|
format?: string;
|
|
50
50
|
$ref?: string;
|
|
51
51
|
$namespace?: string;
|
|
52
|
-
definitions?: import("
|
|
53
|
-
properties?: import("
|
|
54
|
-
items?: import("
|
|
55
|
-
additionalItems?: import("
|
|
56
|
-
patternProperties?: import("
|
|
57
|
-
additionalProperties?: import("
|
|
52
|
+
definitions?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
53
|
+
properties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
54
|
+
items?: import("@tachybase/schema").SchemaItems<any, any, any, any, any, any, any, any>;
|
|
55
|
+
additionalItems?: import("@tachybase/schema").Stringify</*elided*/ any>;
|
|
56
|
+
patternProperties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
57
|
+
additionalProperties?: import("@tachybase/schema").Stringify</*elided*/ any>;
|
|
58
58
|
"x-value"?: any;
|
|
59
59
|
"x-index"?: number;
|
|
60
60
|
"x-pattern"?: any;
|
|
@@ -64,7 +64,7 @@ export declare const appListSchema: {
|
|
|
64
64
|
"x-decorator-props"?: any;
|
|
65
65
|
"x-component"?: any;
|
|
66
66
|
"x-component-props"?: any;
|
|
67
|
-
"x-reactions"?: import("
|
|
67
|
+
"x-reactions"?: import("@tachybase/schema").SchemaReactions<any>;
|
|
68
68
|
"x-content"?: any;
|
|
69
69
|
"x-data"?: any;
|
|
70
70
|
"x-visible"?: boolean;
|
|
@@ -141,19 +141,19 @@ export declare const appListActionsSchema: {
|
|
|
141
141
|
};
|
|
142
142
|
title: string;
|
|
143
143
|
properties: {
|
|
144
|
-
formSchema: import("
|
|
144
|
+
formSchema: import("@tachybase/schema").Stringify<{
|
|
145
145
|
[key: symbol]: any;
|
|
146
146
|
[key: `x-${string}`]: any;
|
|
147
147
|
[key: `x-${number}`]: any;
|
|
148
148
|
version?: string;
|
|
149
|
-
name?: import("
|
|
149
|
+
name?: import("@tachybase/schema").SchemaKey;
|
|
150
150
|
title?: any;
|
|
151
151
|
description?: any;
|
|
152
152
|
default?: any;
|
|
153
153
|
readOnly?: boolean;
|
|
154
154
|
writeOnly?: boolean;
|
|
155
|
-
type?: import("
|
|
156
|
-
enum?: import("
|
|
155
|
+
type?: import("@tachybase/schema").SchemaTypes;
|
|
156
|
+
enum?: import("@tachybase/schema").SchemaEnum<any>;
|
|
157
157
|
const?: any;
|
|
158
158
|
multipleOf?: number;
|
|
159
159
|
maximum?: number;
|
|
@@ -172,12 +172,12 @@ export declare const appListActionsSchema: {
|
|
|
172
172
|
format?: string;
|
|
173
173
|
$ref?: string;
|
|
174
174
|
$namespace?: string;
|
|
175
|
-
definitions?: import("
|
|
176
|
-
properties?: import("
|
|
177
|
-
items?: import("
|
|
178
|
-
additionalItems?: import("
|
|
179
|
-
patternProperties?: import("
|
|
180
|
-
additionalProperties?: import("
|
|
175
|
+
definitions?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
176
|
+
properties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
177
|
+
items?: import("@tachybase/schema").SchemaItems<any, any, any, any, any, any, any, any>;
|
|
178
|
+
additionalItems?: import("@tachybase/schema").Stringify</*elided*/ any>;
|
|
179
|
+
patternProperties?: import("@tachybase/schema").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
180
|
+
additionalProperties?: import("@tachybase/schema").Stringify</*elided*/ any>;
|
|
181
181
|
"x-value"?: any;
|
|
182
182
|
"x-index"?: number;
|
|
183
183
|
"x-pattern"?: any;
|
|
@@ -187,7 +187,7 @@ export declare const appListActionsSchema: {
|
|
|
187
187
|
"x-decorator-props"?: any;
|
|
188
188
|
"x-component"?: any;
|
|
189
189
|
"x-component-props"?: any;
|
|
190
|
-
"x-reactions"?: import("
|
|
190
|
+
"x-reactions"?: import("@tachybase/schema").SchemaReactions<any>;
|
|
191
191
|
"x-content"?: any;
|
|
192
192
|
"x-data"?: any;
|
|
193
193
|
"x-visible"?: boolean;
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
"react-i18next": "15.2.0",
|
|
3
|
-
"@tachybase/client": "1.3.
|
|
4
|
-
"@
|
|
5
|
-
"@tachybase/database": "1.3.21",
|
|
3
|
+
"@tachybase/client": "1.3.23",
|
|
4
|
+
"@tego/server": "1.3.43",
|
|
6
5
|
"lodash": "4.17.21",
|
|
7
|
-
"mysql2": "3.14.
|
|
6
|
+
"mysql2": "3.14.3",
|
|
8
7
|
"pg": "8.16.3",
|
|
9
8
|
"react": "18.3.1",
|
|
10
|
-
"@tachybase/schema": "1.3.
|
|
9
|
+
"@tachybase/schema": "1.3.43",
|
|
11
10
|
"antd": "5.22.5",
|
|
12
11
|
"react-router-dom": "6.28.1",
|
|
13
|
-
"@
|
|
14
|
-
"@
|
|
15
|
-
"@tachybase/actions": "1.3.21"
|
|
12
|
+
"@ant-design/icons": "5.6.1",
|
|
13
|
+
"@tego/client": "1.3.43"
|
|
16
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"mariadb","version":"2.5.6","description":"fast mariadb/mysql connector.","main":"promise.js","types":"types/index.d.ts","directories":{"lib":"lib","test":"test"},"private":false,"scripts":{"test":"npm run test:types-prettier && npm run test:prettier && npm run test:types && npm run test:lint && npm run test:base","test:base":"mocha --no-parallel --timeout 5000 \"test/**/*.js\" ","test:lint":"eslint \"{lib,test}/**/*.js\" ","test:types":"eslint \"types/*.ts\" ","test:types-prettier":"prettier --write \"types/*.ts\"","test:prettier":"prettier --write \"{tools,lib,test,benchmarks}/**/*.js\"","coverage":"npm run coverage:test && npm run coverage:report","coverage:test":"nyc mocha --no-parallel --timeout 5000 \"test/**/*.js\"","coverage:report":"nyc report --reporter=text-lcov > coverage.lcov && codecov","benchmark":"node ./benchmarks/benchmarks.js","generate":"node ./tools/generate-mariadb.js"},"repository":{"type":"git","url":"git+https://github.com/mariadb-corporation/mariadb-connector-nodejs.git"},"keywords":["mariadb","mysql","client","driver","connector"],"files":["lib","types/index.d.ts","promise.js","callback.js"],"engines":{"node":">= 10.13"},"author":"Diego Dupin <diego.dupin@mariadb.com>","license":"LGPL-2.1-or-later","dependencies":{"@types/geojson":"^7946.0.8","@types/node":"^17.0.10","denque":"^2.0.1","iconv-lite":"^0.6.3","long":"^5.2.0","moment-timezone":"^0.5.34","please-upgrade-node":"^3.2.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^5.10.0","@typescript-eslint/parser":"^5.10.0","benchmark":"^2.1.4","chai":"^4.3.4","codecov":"^3.8.2","chalk":"^4.1.2","dom-parser":"^0.1.6","error-stack-parser":"^2.0.6","eslint":"^8.7.0","eslint-config-prettier":"^8.3.0","eslint-plugin-markdown":"^2.2.1","eslint-plugin-prettier":"^4.0.0","mocha":"^9.2.0","mocha-lcov-reporter":"^1.3.0","nyc":"^15.1.0","prettier":"^2.5.1","typescript":"^4.5.5"},"bugs":{"url":"https://jira.mariadb.org/projects/CONJS/"},"homepage":"https://github.com/mariadb-corporation/mariadb-connector-nodejs#readme","_lastModified":"2025-
|
|
1
|
+
{"name":"mariadb","version":"2.5.6","description":"fast mariadb/mysql connector.","main":"promise.js","types":"types/index.d.ts","directories":{"lib":"lib","test":"test"},"private":false,"scripts":{"test":"npm run test:types-prettier && npm run test:prettier && npm run test:types && npm run test:lint && npm run test:base","test:base":"mocha --no-parallel --timeout 5000 \"test/**/*.js\" ","test:lint":"eslint \"{lib,test}/**/*.js\" ","test:types":"eslint \"types/*.ts\" ","test:types-prettier":"prettier --write \"types/*.ts\"","test:prettier":"prettier --write \"{tools,lib,test,benchmarks}/**/*.js\"","coverage":"npm run coverage:test && npm run coverage:report","coverage:test":"nyc mocha --no-parallel --timeout 5000 \"test/**/*.js\"","coverage:report":"nyc report --reporter=text-lcov > coverage.lcov && codecov","benchmark":"node ./benchmarks/benchmarks.js","generate":"node ./tools/generate-mariadb.js"},"repository":{"type":"git","url":"git+https://github.com/mariadb-corporation/mariadb-connector-nodejs.git"},"keywords":["mariadb","mysql","client","driver","connector"],"files":["lib","types/index.d.ts","promise.js","callback.js"],"engines":{"node":">= 10.13"},"author":"Diego Dupin <diego.dupin@mariadb.com>","license":"LGPL-2.1-or-later","dependencies":{"@types/geojson":"^7946.0.8","@types/node":"^17.0.10","denque":"^2.0.1","iconv-lite":"^0.6.3","long":"^5.2.0","moment-timezone":"^0.5.34","please-upgrade-node":"^3.2.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^5.10.0","@typescript-eslint/parser":"^5.10.0","benchmark":"^2.1.4","chai":"^4.3.4","codecov":"^3.8.2","chalk":"^4.1.2","dom-parser":"^0.1.6","error-stack-parser":"^2.0.6","eslint":"^8.7.0","eslint-config-prettier":"^8.3.0","eslint-plugin-markdown":"^2.2.1","eslint-plugin-prettier":"^4.0.0","mocha":"^9.2.0","mocha-lcov-reporter":"^1.3.0","nyc":"^15.1.0","prettier":"^2.5.1","typescript":"^4.5.5"},"bugs":{"url":"https://jira.mariadb.org/projects/CONJS/"},"homepage":"https://github.com/mariadb-corporation/mariadb-connector-nodejs#readme","_lastModified":"2025-08-02T21:24:55.112Z"}
|