@tachybase/module-env-secrets 1.0.18 → 1.0.25

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.
@@ -1,6 +1,6 @@
1
- (function(r,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("@tachybase/client"),require("react/jsx-runtime"),require("react"),require("@tachybase/components"),require("@tachybase/schema"),require("@ant-design/icons"),require("antd")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","react/jsx-runtime","react","@tachybase/components","@tachybase/schema","@ant-design/icons","antd"],a):(r=typeof globalThis!="undefined"?globalThis:r||self,a(r["@tachybase/module-env-secrets"]={},r["@tachybase/client"],r.jsxRuntime,r.react,r["@tachybase/components"],r["@tachybase/schema"],r["@ant-design/icons"],r.antd))})(this,function(r,a,e,v,o,f,x,l){"use strict";var Z=Object.defineProperty;var D=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var E=(r,a,e)=>a in r?Z(r,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[a]=e,k=(r,a)=>{for(var e in a||(a={}))W.call(a,e)&&E(r,e,a[e]);if(D)for(var e of D(a))H.call(a,e)&&E(r,e,a[e]);return r};var h=(r,a,e)=>new Promise((v,o)=>{var f=y=>{try{l(e.next(y))}catch(b){o(b)}},x=y=>{try{l(e.throw(y))}catch(b){o(b)}},l=y=>y.done?v(y.value):Promise.resolve(y.value).then(f,x);l((e=e.apply(r,a)).next())});const y=/^[A-Za-z][A-Za-z0-9_]*$/,b=v.createContext({}),P=s=>{const n=a.useRequest({url:"environmentVariables?paginate=false"});return e.jsx(b.Provider,{value:{variablesRequest:n},children:s.children})},T=f.observer(s=>location.pathname.startsWith("/_admin")?e.jsx(P,k({},s)):e.jsx(e.Fragment,{children:s.children}),{displayName:"EnvironmentVariablesAndSecretsProvider"}),$={name:"@tachybase/module-env-secrets",displayName:"Variables and secrets",version:"1.0.18",description:"Centralized management of environment variables and secrets, used for sensitive data storage, configuration data reuse, multi-environment isolation, and more.",keywords:["System management"],main:"dist/server/index.js",devDependencies:{"@ant-design/icons":"^5.6.1",antd:"5.22.5"},peerDependencies:{"@tachybase/client":"workspace:*","@tachybase/components":"workspace:*","@tachybase/database":"workspace:*","@tachybase/schema":"workspace:*","@tachybase/server":"workspace:*","@tachybase/test":"workspace:*"},"description.zh-CN":"集中管理环境变量和密钥,用于敏感数据存储、配置数据重用、多环境隔离等。","displayName.zh-CN":"变量和密钥"};function A(){const s=a.useApp();return n=>s.i18n.t(n,{ns:[$.name,"client"]})}f.registerValidateRules({env_name_rule(s){return s?y.test(s)?"":"Only letters, numbers and underscores are allowed, and it must start with a letter.":""}});const O=f.createSchemaField({components:{FormItem:o.FormItem,Input:o.Input,Checkbox:o.Checkbox,Radio:o.Radio}}),j={type:"object",properties:{variables:{type:"string",title:'{{ t("Plain text") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:10,maxRows:20},placeholder:`FOO=aaa
1
+ (function(a,r){typeof exports=="object"&&typeof module!="undefined"?r(exports,require("@tachybase/client"),require("react/jsx-runtime"),require("react"),require("@tachybase/components"),require("@tachybase/schema"),require("@ant-design/icons"),require("antd")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","react/jsx-runtime","react","@tachybase/components","@tachybase/schema","@ant-design/icons","antd"],r):(a=typeof globalThis!="undefined"?globalThis:a||self,r(a["@tachybase/module-env-secrets"]={},a["@tachybase/client"],a.jsxRuntime,a.react,a["@tachybase/components"],a["@tachybase/schema"],a["@ant-design/icons"],a.antd))})(this,function(a,r,e,f,o,v,x,s){"use strict";var Z=Object.defineProperty;var E=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var P=(a,r,e)=>r in a?Z(a,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[r]=e,k=(a,r)=>{for(var e in r||(r={}))W.call(r,e)&&P(a,e,r[e]);if(E)for(var e of E(r))H.call(r,e)&&P(a,e,r[e]);return a};var h=(a,r,e)=>new Promise((f,o)=>{var v=y=>{try{s(e.next(y))}catch(b){o(b)}},x=y=>{try{s(e.throw(y))}catch(b){o(b)}},s=y=>y.done?f(y.value):Promise.resolve(y.value).then(v,x);s((e=e.apply(a,r)).next())});const y=/^[A-Za-z][A-Za-z0-9_]*$/,b=f.createContext({}),T=l=>{const n=r.useRequest({url:"environmentVariables?paginate=false"});return e.jsx(b.Provider,{value:{variablesRequest:n},children:l.children})},$=v.observer(l=>location.pathname.startsWith("/_admin")?e.jsx(T,k({},l)):e.jsx(e.Fragment,{children:l.children}),{displayName:"EnvironmentVariablesAndSecretsProvider"}),D={name:"@tachybase/module-env-secrets"};function S(){const l=r.useApp();return n=>l.i18n.t(n,{ns:[D.name,"client"]})}v.registerValidateRules({env_name_rule(l){return l?y.test(l)?"":"Only letters, numbers and underscores are allowed, and it must start with a letter.":""}});const O=v.createSchemaField({components:{FormItem:o.FormItem,Input:o.Input,Checkbox:o.Checkbox,Radio:o.Radio}}),j={type:"object",properties:{variables:{type:"string",title:'{{ t("Plain text") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:10,maxRows:20},placeholder:`FOO=aaa
2
2
  BAR=bbb
3
3
  `}},secret:{type:"string",title:'{{ t("Encrypted") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:10,maxRows:20},placeholder:`FOO=aaa
4
4
  BAR=bbb
5
- `}}}},B={type:"object",properties:{name:{type:"string",title:'{{ t("Name") }}',required:!0,"x-validator":{env_name_rule:!0},"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}"},type:{type:"string",title:'{{ t("Type") }}',required:!0,"x-decorator":"FormItem","x-component":"Radio.Group",default:"default",enum:[{value:"default",label:'{{t("Plain text")}}'},{value:"secret",label:'{{t("Encrypted")}}'}]},value:{type:"string",title:'{{ t("Value") }}',required:!0,"x-decorator":"FormItem","x-component":"Input.TextArea"}}};function N({request:s,setSelectRowKeys:n}){const{modal:d}=l.App.useApp(),t=A(),u=a.useAPIClient(),{data:m,loading:C,refresh:F}=s||{},w={default:{label:t("Plain text"),color:"green"},secret:{label:t("Encrypted"),color:"red"}},V=u.resource("environmentVariables"),S=i=>{d.confirm({title:t("Delete variable"),content:t("Are you sure you want to delete it?"),onOk(){return h(this,null,function*(){yield V.destroy({filterByTk:i.name}),F()})}})},I=i=>h(this,null,function*(){const g=o.FormDrawer({title:t("Edit")},()=>e.jsxs(o.FormLayout,{layout:"vertical",children:[e.jsx(a.SchemaComponentOptions,{scope:{createOnly:!1,t},children:e.jsx(O,{schema:B})}),e.jsx(o.FormDrawer.Footer,{children:e.jsxs(o.FormButtonGroup,{align:"right",children:[e.jsx(o.Reset,{onClick:()=>{g.close()},children:t("Cancel")}),e.jsx(o.Submit,{onSubmit:c=>h(this,null,function*(){yield u.request({url:`environmentVariables:update?filterByTk=${i.name}`,method:"post",data:k({},c)}),s.refresh()}),children:t("Submit")})]})})]}));g.open({initialValues:k({},i)})});return e.jsx("div",{children:e.jsx(l.Table,{loading:C,size:"middle",rowKey:"name",dataSource:m==null?void 0:m.data,pagination:!1,columns:[{title:t("Name"),dataIndex:"name",ellipsis:!0},{title:t("Type"),dataIndex:"type",render:i=>e.jsx(l.Tag,{color:w[i].color,children:w[i].label})},{title:t("Value"),ellipsis:!0,render:i=>e.jsx("div",{children:i.type==="default"?i.value:"******"})},{title:t("Actions"),width:200,render:i=>e.jsxs(l.Space,{children:[e.jsx("a",{onClick:()=>I(i),children:t("Edit")}),e.jsx("a",{onClick:()=>S(i),children:t("Delete")})]})}],rowSelection:{type:"checkbox",onChange:(i,g)=>{n(i)}}})})}function _(s,n){return s.trim().split(`
6
- `).map(d=>{const[t,...u]=d.split("=");return t&&{name:t.trim(),value:u.join("=").trim(),type:n==="secret"?"secret":"default"}})}function z(){var i,g;const s=a.useAPIClient(),n=A(),{modal:d}=l.App.useApp(),{variablesRequest:t}=v.useContext(b),[u,m]=v.useState([]),C=s.resource("environmentVariables"),F=c=>h(this,null,function*(){const p=Object.entries(c).map(([K,L])=>_(L,K).filter(Boolean));yield s.request({url:"environmentVariables:create",method:"post",data:p.flat()})}),w=()=>{if(u.length>0){let c;d.confirm({title:n("Delete variable"),content:n("Are you sure you want to delete it?"),onOk(){return h(this,null,function*(){var p;yield C.destroy({filterByTk:u}),(p=t==null?void 0:t.refresh)==null||p.call(t)})}})}},V=()=>{var c;(c=t==null?void 0:t.refresh)==null||c.call(t)},S=[{name:"name",title:n("Name"),operators:[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"}],schema:{type:"string",title:n("Name"),"x-component":"Input"}},{name:"type",title:n("Type"),operators:[{label:'{{t("is")}}',value:"$match",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is not")}}',value:"$notMatch",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}}],schema:{type:"string",title:n("Type"),"x-component":"Select",enum:[{value:"default",label:'{{t("Plain text")}}'},{value:"secret",label:'{{t("Encrypted")}}'}]}},{name:"value",title:n("Value"),operators:[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"}],schema:{type:"string",title:n("Value"),"x-component":"Input"}}],I=()=>{const c=f.useField();return{options:S,onSubmit:p=>h(this,null,function*(){t==null||t.run(p),c.setValue(p)}),onReset:p=>{c.setValue(p)}}};return e.jsxs("div",{children:[((g=(i=t==null?void 0:t.data)==null?void 0:i.meta)==null?void 0:g.updated)&&e.jsx(l.Alert,{type:"warning",style:{marginBottom:"1.2em",alignItems:"center"},description:e.jsxs("div",{children:[n("Variables and secrets have been updated. A restart is required for the changes to take effect.")," "]}),action:e.jsx(l.Button,{size:"middle",type:"primary",onClick:()=>h(this,null,function*(){yield s.resource("app").refresh()}),children:n("Restart now")})}),e.jsxs(l.Card,{children:[e.jsx("div",{style:{float:"left"},children:e.jsx(a.SchemaComponent,{schema:{name:"filter",type:"object",title:'{{ t("Filter") }}',default:{$and:[{name:{$includes:""}}]},"x-component":"Filter.Action",enum:S,"x-use-component-props":I},scope:{t:n}})}),e.jsx(l.Flex,{justify:"end",style:{marginBottom:16},children:e.jsxs(l.Space,{children:[e.jsx(l.Button,{icon:e.jsx(x.ReloadOutlined,{}),onClick:V,children:n("Refresh")}),e.jsx(l.Button,{icon:e.jsx(x.DeleteOutlined,{}),onClick:w,children:n("Delete")}),e.jsx(l.Dropdown,{menu:{onClick(c){o.FormDrawer({variable:n("Add variable"),bulk:n("Bulk import")}[c.key],()=>e.jsxs(o.FormLayout,{layout:"vertical",children:[e.jsx(a.SchemaComponentOptions,{scope:{createOnly:!0,t:n},children:e.jsx(O,{schema:c.key==="bulk"?j:B})}),e.jsx(o.FormDrawer.Footer,{children:e.jsxs(o.FormButtonGroup,{align:"right",children:[e.jsx(o.Reset,{children:n("Cancel")}),e.jsx(o.Submit,{onSubmit:p=>h(this,null,function*(){c.key==="bulk"?(yield F(p),t.refresh()):(yield s.request({url:"environmentVariables:create",method:"post",data:k({},p)}),t.refresh())}),children:n("Submit")})]})})]})).open({initialValues:{}}).then(console.log).catch(console.log)},items:[{key:"variable",label:n("Add variable")},{type:"divider"},{key:"bulk",label:n("Bulk import")}]},children:e.jsxs(l.Button,{type:"primary",icon:e.jsx(x.PlusOutlined,{}),children:[n("Add new")," ",e.jsx(x.DownOutlined,{})]})})]})}),e.jsx(N,{request:t,setSelectRowKeys:m})]})]})}function q(){return e.jsx(z,{})}const G=()=>{var u;const s=A(),{variablesRequest:n}=v.useContext(b),{data:d,loading:t}=n||{};return!t&&((u=d==null?void 0:d.data)!=null&&u.length)?{name:"$env",title:s("Variables and secrets"),value:"$env",label:s("Variables and secrets"),children:d==null?void 0:d.data.map(m=>({title:m.name,name:m.name,value:m.name,label:m.name})).filter(Boolean)}:null};class M extends a.Plugin{load(){return h(this,null,function*(){this.app.systemSettingsManager.add("system-services.environment",{title:this.t("Variables and secrets"),icon:"TableOutlined",Component:q,aclSnippet:"pm.system-services.env-secrets"}),this.app.addGlobalVar("$env",G),this.app.use(T)})}}r.default=M,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
5
+ `}}}},B={type:"object",properties:{name:{type:"string",title:'{{ t("Name") }}',required:!0,"x-validator":{env_name_rule:!0},"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}"},type:{type:"string",title:'{{ t("Type") }}',required:!0,"x-decorator":"FormItem","x-component":"Radio.Group",default:"default",enum:[{value:"default",label:'{{t("Plain text")}}'},{value:"secret",label:'{{t("Encrypted")}}'}]},value:{type:"string",title:'{{ t("Value") }}',required:!0,"x-decorator":"FormItem","x-component":"Input.TextArea"}}};function _({request:l,setSelectRowKeys:n}){const{modal:d}=s.App.useApp(),t=S(),p=r.useAPIClient(),{data:m,loading:F,refresh:V}=l||{},w={default:{label:t("Plain text"),color:"green"},secret:{label:t("Encrypted"),color:"red"}},C=p.resource("environmentVariables"),A=i=>{d.confirm({title:t("Delete variable"),content:t("Are you sure you want to delete it?"),onOk(){return h(this,null,function*(){yield C.destroy({filterByTk:i.name}),V()})}})},I=i=>h(this,null,function*(){const g=o.FormDrawer({title:t("Edit")},()=>e.jsxs(o.FormLayout,{layout:"vertical",children:[e.jsx(r.SchemaComponentOptions,{scope:{createOnly:!1,t},children:e.jsx(O,{schema:B})}),e.jsx(o.FormDrawer.Footer,{children:e.jsxs(o.FormButtonGroup,{align:"right",children:[e.jsx(o.Reset,{onClick:()=>{g.close()},children:t("Cancel")}),e.jsx(o.Submit,{onSubmit:c=>h(this,null,function*(){yield p.request({url:`environmentVariables:update?filterByTk=${i.name}`,method:"post",data:k({},c)}),l.refresh()}),children:t("Submit")})]})})]}));g.open({initialValues:k({},i)})});return e.jsx("div",{children:e.jsx(s.Table,{loading:F,size:"middle",rowKey:"name",dataSource:m==null?void 0:m.data,pagination:!1,columns:[{title:t("Name"),dataIndex:"name",ellipsis:!0},{title:t("Type"),dataIndex:"type",render:i=>e.jsx(s.Tag,{color:w[i].color,children:w[i].label})},{title:t("Value"),ellipsis:!0,render:i=>e.jsx("div",{children:i.type==="default"?i.value:"******"})},{title:t("Actions"),width:200,render:i=>e.jsxs(s.Space,{children:[e.jsx("a",{onClick:()=>I(i),children:t("Edit")}),e.jsx("a",{onClick:()=>A(i),children:t("Delete")})]})}],rowSelection:{type:"checkbox",onChange:(i,g)=>{n(i)}}})})}function q(l,n){return l.trim().split(`
6
+ `).map(d=>{const[t,...p]=d.split("=");return t&&{name:t.trim(),value:p.join("=").trim(),type:n==="secret"?"secret":"default"}})}function z(){var i,g;const l=r.useAPIClient(),n=S(),{modal:d}=s.App.useApp(),{variablesRequest:t}=f.useContext(b),[p,m]=f.useState([]),F=l.resource("environmentVariables"),V=c=>h(this,null,function*(){const u=Object.entries(c).map(([K,L])=>q(L,K).filter(Boolean));yield l.request({url:"environmentVariables:create",method:"post",data:u.flat()})}),w=()=>{if(p.length>0){let c;d.confirm({title:n("Delete variable"),content:n("Are you sure you want to delete it?"),onOk(){return h(this,null,function*(){var u;yield F.destroy({filterByTk:p}),(u=t==null?void 0:t.refresh)==null||u.call(t)})}})}},C=()=>{var c;(c=t==null?void 0:t.refresh)==null||c.call(t)},A=[{name:"name",title:n("Name"),operators:[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"}],schema:{type:"string",title:n("Name"),"x-component":"Input"}},{name:"type",title:n("Type"),operators:[{label:'{{t("is")}}',value:"$match",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is not")}}',value:"$notMatch",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}}],schema:{type:"string",title:n("Type"),"x-component":"Select",enum:[{value:"default",label:'{{t("Plain text")}}'},{value:"secret",label:'{{t("Encrypted")}}'}]}},{name:"value",title:n("Value"),operators:[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"}],schema:{type:"string",title:n("Value"),"x-component":"Input"}}],I=()=>{const c=v.useField();return{options:A,onSubmit:u=>h(this,null,function*(){t==null||t.run(u),c.setValue(u)}),onReset:u=>{c.setValue(u)}}};return e.jsxs("div",{children:[((g=(i=t==null?void 0:t.data)==null?void 0:i.meta)==null?void 0:g.updated)&&e.jsx(s.Alert,{type:"warning",style:{marginBottom:"1.2em",alignItems:"center"},description:e.jsxs("div",{children:[n("Variables and secrets have been updated. A restart is required for the changes to take effect.")," "]}),action:e.jsx(s.Button,{size:"middle",type:"primary",onClick:()=>h(this,null,function*(){yield l.resource("app").refresh()}),children:n("Restart now")})}),e.jsxs(s.Card,{children:[e.jsx("div",{style:{float:"left"},children:e.jsx(r.SchemaComponent,{schema:{name:"filter",type:"object",title:'{{ t("Filter") }}',default:{$and:[{name:{$includes:""}}]},"x-component":"Filter.Action",enum:A,"x-use-component-props":I},scope:{t:n}})}),e.jsx(s.Flex,{justify:"end",style:{marginBottom:16},children:e.jsxs(s.Space,{children:[e.jsx(s.Button,{icon:e.jsx(x.ReloadOutlined,{}),onClick:C,children:n("Refresh")}),e.jsx(s.Button,{icon:e.jsx(x.DeleteOutlined,{}),onClick:w,children:n("Delete")}),e.jsx(s.Dropdown,{menu:{onClick(c){o.FormDrawer({variable:n("Add variable"),bulk:n("Bulk import")}[c.key],()=>e.jsxs(o.FormLayout,{layout:"vertical",children:[e.jsx(r.SchemaComponentOptions,{scope:{createOnly:!0,t:n},children:e.jsx(O,{schema:c.key==="bulk"?j:B})}),e.jsx(o.FormDrawer.Footer,{children:e.jsxs(o.FormButtonGroup,{align:"right",children:[e.jsx(o.Reset,{children:n("Cancel")}),e.jsx(o.Submit,{onSubmit:u=>h(this,null,function*(){c.key==="bulk"?(yield V(u),t.refresh()):(yield l.request({url:"environmentVariables:create",method:"post",data:k({},u)}),t.refresh())}),children:n("Submit")})]})})]})).open({initialValues:{}}).then(console.log).catch(console.log)},items:[{key:"variable",label:n("Add variable")},{type:"divider"},{key:"bulk",label:n("Bulk import")}]},children:e.jsxs(s.Button,{type:"primary",icon:e.jsx(x.PlusOutlined,{}),children:[n("Add new")," ",e.jsx(x.DownOutlined,{})]})})]})}),e.jsx(_,{request:t,setSelectRowKeys:m})]})]})}function N(){return e.jsx(z,{})}const G=()=>{var p;const l=S(),{variablesRequest:n}=f.useContext(b),{data:d,loading:t}=n||{};return!t&&((p=d==null?void 0:d.data)!=null&&p.length)?{name:"$env",title:l("Variables and secrets"),value:"$env",label:l("Variables and secrets"),children:d==null?void 0:d.data.map(m=>({title:m.name,name:m.name,value:m.name,label:m.name})).filter(Boolean)}:null};class M extends r.Plugin{load(){return h(this,null,function*(){this.app.systemSettingsManager.add("system-services.environment",{title:this.t("Variables and secrets"),icon:"TableOutlined",Component:N,aclSnippet:"pm.system-services.env-secrets"}),this.app.addGlobalVar("$env",G),this.app.use($)})}}a.default=M,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,10 +1,10 @@
1
1
  module.exports = {
2
2
  "react": "18.3.1",
3
- "@tachybase/client": "1.0.18",
4
- "@tachybase/schema": "1.0.18",
5
- "@tachybase/server": "1.0.18",
6
- "@tachybase/components": "1.0.18",
3
+ "@tachybase/client": "1.0.25",
4
+ "@tachybase/schema": "1.0.25",
5
+ "@tachybase/server": "1.0.25",
6
+ "@tachybase/components": "1.0.25",
7
7
  "@ant-design/icons": "5.6.1",
8
8
  "antd": "5.22.5",
9
- "@tachybase/database": "1.0.18"
9
+ "@tachybase/database": "1.0.25"
10
10
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tachybase/module-env-secrets",
3
3
  "displayName": "Variables and secrets",
4
- "version": "1.0.18",
4
+ "version": "1.0.25",
5
5
  "description": "Centralized management of environment variables and secrets, used for sensitive data storage, configuration data reuse, multi-environment isolation, and more.",
6
6
  "keywords": [
7
7
  "System management"
@@ -12,12 +12,12 @@
12
12
  "antd": "5.22.5"
13
13
  },
14
14
  "peerDependencies": {
15
- "@tachybase/client": "1.0.18",
16
- "@tachybase/database": "1.0.18",
17
- "@tachybase/components": "1.0.18",
18
- "@tachybase/schema": "1.0.18",
19
- "@tachybase/server": "1.0.18",
20
- "@tachybase/test": "1.0.18"
15
+ "@tachybase/components": "1.0.25",
16
+ "@tachybase/database": "1.0.25",
17
+ "@tachybase/schema": "1.0.25",
18
+ "@tachybase/client": "1.0.25",
19
+ "@tachybase/server": "1.0.25",
20
+ "@tachybase/test": "1.0.25"
21
21
  },
22
22
  "description.zh-CN": "集中管理环境变量和密钥,用于敏感数据存储、配置数据重用、多环境隔离等。",
23
23
  "displayName.zh-CN": "变量和密钥"