@tachybase/plugin-field-sequence 1.3.21 → 1.3.22
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 +6 -6
- package/dist/externalVersion.js +4 -6
- package/dist/node_modules/cron-parser/package.json +1 -1
- package/dist/server/Plugin.d.ts +1 -2
- package/dist/server/Plugin.js +8 -9
- package/dist/server/collections/sequences.d.ts +1 -1
- package/dist/server/collections/sequences.js +2 -2
- package/dist/server/fields/field-sequence.d.ts +1 -2
- package/dist/server/fields/field-sequence.js +6 -7
- package/dist/server/migrations/20221207022250-sequence-field-key.d.ts +1 -1
- package/dist/server/migrations/20221207022250-sequence-field-key.js +1 -1
- package/package.json +10 -17
package/dist/client/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(o,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("@tachybase/client"),require("react/jsx-runtime"),require("react"),require("@tachybase/schema"),require("@tego/client"),require("antd"),require("react-i18next")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","react/jsx-runtime","react","@tachybase/schema","@tego/client","antd","react-i18next"],e):(o=typeof globalThis!="undefined"?globalThis:o||self,e(o["@tachybase/plugin-field-sequence"]={},o["@tachybase/client"],o.jsxRuntime,o.react,o["@tachybase/schema"],o["@tego/client"],o.antd,o["react-i18next"]))})(this,function(o,e,t,S,u,c,d,x){"use strict";var N=Object.defineProperty,Y=Object.defineProperties;var V=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var w=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable;var A=(o,e,t)=>e in o?N(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,b=(o,e)=>{for(var t in e||(e={}))w.call(e,t)&&A(o,t,e[t]);if(T)for(var t of T(e))z.call(e,t)&&A(o,t,e[t]);return o},I=(o,e)=>Y(o,V(e));var j=(o,e,t)=>new Promise((S,u)=>{var c=n=>{try{x(t.next(n))}catch(y){u(y)}},d=n=>{try{x(t.throw(n))}catch(y){u(y)}},x=n=>n.done?S(n.value):Promise.resolve(n.value).then(c,d);x((t=t.apply(o,e)).next())});const n="field-sequence";function y(r,a={}){return e.i18n.t(r,I(b({},a),{ns:[n,"core"]}))}function F(r){return e.tval(r,{ns:[n,"core"]})}function $(r){const a=e.useCompile(),{setValuesIn:i}=u.useForm(),p=c.ArrayTable.useIndex();return u.useFormEffects(()=>{u.onFieldValueChange(`patterns.${p}.type`,s=>{i(`patterns.${p}.options`,{})})}),t.jsx(d.Select,I(b({popupMatchSelectWidth:!1},r),{children:Object.keys(v).map(s=>t.jsx(d.Select.Option,{value:s,children:a(v[s].title)},s))}))}function M(){const r=e.useCompile(),{values:a}=u.useForm(),i=c.ArrayTable.useIndex(),{type:p,options:s}=a.patterns[i],f=v[p];return t.jsx("div",{className:e.css`
|
|
2
2
|
display: flex;
|
|
3
3
|
gap: 1em;
|
|
4
4
|
flex-wrap: wrap;
|
|
5
|
-
`,children:Object.keys(s).filter(
|
|
5
|
+
`,children:Object.keys(s).filter(l=>typeof s[l]!="undefined"&&f.optionRenders[l]).map(l=>{const g=f.optionRenders[l],{title:m}=f.fieldset[l];return g?t.jsxs("dl",{className:e.css`
|
|
6
6
|
margin: 0;
|
|
7
7
|
padding: 0;
|
|
8
|
-
`,children:[t.jsx("dt",{children:
|
|
8
|
+
`,children:[t.jsx("dt",{children:r(m)}),t.jsx("dd",{className:e.css`
|
|
9
9
|
margin-bottom: 0;
|
|
10
|
-
`,children:t.jsx(
|
|
10
|
+
`,children:t.jsx(g,{value:s[l]},l)})]},l):null})})}const v={string:{title:`{{t("Fixed text", { ns: "${n}" })}}`,optionRenders:{value(r={value:""}){return t.jsx("code",{children:r.value})}},fieldset:{value:{type:"string",title:`{{t("Text content", { ns: "${n}" })}}`,"x-decorator":"FormItem","x-component":"Input"}}},integer:{title:`{{t("Autoincrement", { ns: "${n}" })}}`,optionRenders:{digits:function({value:a}){return t.jsx("code",{children:a})},start:function({value:a}){return t.jsx("code",{children:a})},cycle:e.Cron.ReadPretty},fieldset:{digits:{type:"number",title:`{{t("Digits", { ns: "${n}" })}}`,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1,max:10},required:!0,default:1,"x-reactions":{target:"start",fulfill:{schema:{"x-component-props.max":"{{ 10 ** $self.value - 1 }}"}}}},start:{type:"number",title:`{{t("Start from", { ns: "${n}" })}}`,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:0},required:!0,default:0},cycle:{type:"string",title:`{{t("Reset cycle", { ns: "${n}" })}}`,"x-decorator":"FormItem","x-component"({value:r,onChange:a}){const i=[{label:"No reset",value:0},{label:"Daily",value:1,cron:"0 0 * * *"},{label:"Every Monday",value:2,cron:"0 0 * * 1"},{label:"Monthly",value:3,cron:"0 0 1 * *"},{label:"Yearly",value:4,cron:"0 0 1 1 *"},{label:"Customize",value:5,cron:"* * * * *"}],p=typeof r=="undefined"?i[0]:i.find(s=>s.cron===r)||i[5];return t.jsxs("fieldset",{children:[t.jsx(d.Select,{value:p.value,onChange:s=>a(i[s].cron),children:i.map(s=>t.jsx(d.Select.Option,{value:s.value,children:y(s.label)},s.value))}),p.value===5?t.jsx(e.Cron,{value:r,onChange:a,clearButton:!1}):null]})},default:null}}},date:{title:F("Date"),optionRenders:{format(r={value:"YYYYMMDD"}){return t.jsx("code",{children:r.value})}},fieldset:{format:{type:"string",title:F("Date format"),"x-decorator":"FormItem","x-component":"Input",default:"YYYYMMDD"}}}};function C(){const{t:r}=x.useTranslation(),a=e.useCompile(),i=S.useContext(u.SchemaOptionsContext),{values:p,setValuesIn:s}=u.useForm(),f=c.ArrayTable.useIndex(),{type:l,options:g}=p.patterns[f],m=v[l],{token:D}=e.useToken();return m!=null&&m.fieldset?t.jsx(d.Button,{type:"link",onClick:()=>{c.FormDrawer({title:a(m.title),zIndex:D.zIndexPopupBase+1e3},()=>t.jsxs(c.FormLayout,{layout:"vertical",children:[t.jsx(e.SchemaComponentOptions,{scope:i.scope,components:i.components,children:t.jsx(e.SchemaComponent,{schema:{type:"object","x-component":"fieldset",properties:m.fieldset}})}),t.jsx(c.FormButtonGroup,{className:e.css`
|
|
11
11
|
justify-content: flex-end;
|
|
12
|
-
`,children:t.jsx(
|
|
12
|
+
`,children:t.jsx(c.Submit,{onSubmit:h=>h,children:r("Submit")})})]})).open({initialValues:g}).then(h=>{s(`patterns.${f}`,{type:l,options:b({},h)})}).catch(h=>{c.error(h)})},children:r("Configure")}):null}class O extends e.CollectionFieldInterface{constructor(){super(...arguments),this.name="sequence",this.type="object",this.group="advanced",this.order=3,this.title=`{{t("Sequence", { ns: "${n}" })}}`,this.description=`{{t("Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", { ns: "${n}" })}}`,this.sortable=!0,this.default={type:"sequence",uiSchema:{type:"string","x-component":"Input","x-component-props":{}}},this.availableTypes=["string"],this.hasDefaultValue=!1,this.filterable={operators:e.interfacesProperties.operators.string},this.titleUsable=!0,this.properties=I(b({},e.interfacesProperties.defaultProps),{unique:e.interfacesProperties.unique,patterns:{type:"array",title:`{{t("Sequence rules", { ns: "${n}" })}}`,required:!0,"x-decorator":"FormItem","x-component":"ArrayTable",items:{type:"object",properties:{sort:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:50,title:"",align:"center"},properties:{sort:{type:"void","x-component":"ArrayTable.SortHandle"}}},type:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:`{{t("Type", { ns: "${n}" })}}`},properties:{type:{type:"string",name:"type",required:!0,"x-decorator":"FormItem","x-component":$}}},options:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:`{{t("Rule content", { ns: "${n}" })}}`},properties:{options:{type:"object",name:"options","x-component":M}}},operations:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:`{{t("Operations", { ns: "${n}" })}}`,dataIndex:"operations",fixed:"right",className:e.css`
|
|
13
13
|
> *:not(:last-child) {
|
|
14
14
|
margin-right: 0.5em;
|
|
15
15
|
}
|
|
16
16
|
button {
|
|
17
17
|
padding: 0;
|
|
18
18
|
}
|
|
19
|
-
`},properties:{config:{type:"void",properties:{options:{type:"object","x-component":
|
|
19
|
+
`},properties:{config:{type:"void",properties:{options:{type:"object","x-component":C}}},remove:{type:"void","x-component":"ArrayTable.Remove"}}}}},properties:{add:{type:"void","x-component":"ArrayTable.Addition","x-component-props":{defaultValue:{type:"integer",options:{digits:1,start:0}}},title:`{{t("Add rule", { ns: "${n}" })}}`}}},inputable:{type:"boolean",title:`{{t("Inputable", { ns: "${n}" })}}`,"x-decorator":"FormItem","x-component":"Checkbox"},match:{type:"boolean",title:`{{t("Match rules", { ns: "${n}" })}}`,"x-decorator":"FormItem","x-component":"Checkbox","x-reactions":{dependencies:["inputable"],fulfill:{state:{value:"{{$deps[0] && $self.value}}",visible:"{{$deps[0] === true}}"}}}}})}schemaInitialize(a,{block:i,field:p}){return i==="Form"&&Object.assign(a["x-component-props"],{disabled:!p.inputable}),a}}const P=r=>t.jsx(e.SchemaComponentOptions,{components:{RuleConfigForm:C},children:r.children});class q extends e.Plugin{load(){return j(this,null,function*(){this.app.use(P),this.app.dataSourceManager.addFieldInterfaces([O])})}}o.SequenceFieldPlugin=q,o.default=q,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/externalVersion.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
"react": "18.3.1",
|
|
3
|
-
"@tachybase/client": "1.3.
|
|
4
|
-
"@tachybase/
|
|
5
|
-
"@
|
|
6
|
-
"@tachybase/utils": "1.3.21",
|
|
3
|
+
"@tachybase/client": "1.3.22",
|
|
4
|
+
"@tachybase/schema": "1.3.39",
|
|
5
|
+
"@tego/client": "1.3.39",
|
|
7
6
|
"antd": "5.22.5",
|
|
8
7
|
"react-i18next": "15.2.0",
|
|
9
|
-
"@
|
|
10
|
-
"@tachybase/database": "1.3.21",
|
|
8
|
+
"@tego/server": "1.3.39",
|
|
11
9
|
"dayjs": "1.11.13",
|
|
12
10
|
"lodash": "4.17.21"
|
|
13
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"cron-parser","version":"4.9.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"types/index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^3.2.1"},"devDependencies":{"eslint":"^8.27.0","sinon":"^15.0.1","tap":"^16.3.3","tsd":"^0.26.0"},"engines":{"node":">=12.0.0"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"files":["lib","types","LICENSE","README.md"],"_lastModified":"2025-07-
|
|
1
|
+
{"name":"cron-parser","version":"4.9.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"types/index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^3.2.1"},"devDependencies":{"eslint":"^8.27.0","sinon":"^15.0.1","tap":"^16.3.3","tsd":"^0.26.0"},"engines":{"node":">=12.0.0"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"files":["lib","types","LICENSE","README.md"],"_lastModified":"2025-07-29T06:19:39.765Z"}
|
package/dist/server/Plugin.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Plugin } from '@
|
|
2
|
-
import { Registry } from '@tachybase/utils';
|
|
1
|
+
import { Plugin, Registry } from '@tego/server';
|
|
3
2
|
import { Pattern } from './fields/field-sequence';
|
|
4
3
|
export default class SequenceFieldPlugin extends Plugin {
|
|
5
4
|
patternTypes: Registry<Pattern>;
|
package/dist/server/Plugin.js
CHANGED
|
@@ -30,17 +30,16 @@ __export(Plugin_exports, {
|
|
|
30
30
|
default: () => SequenceFieldPlugin
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(Plugin_exports);
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var
|
|
36
|
-
var import_server = require("@
|
|
37
|
-
var import_utils = require("@tachybase/utils");
|
|
33
|
+
var import_node_crypto = require("node:crypto");
|
|
34
|
+
var import_node_path = __toESM(require("node:path"));
|
|
35
|
+
var import_node_util = require("node:util");
|
|
36
|
+
var import_server = require("@tego/server");
|
|
38
37
|
var import_field_sequence = require("./fields/field-sequence");
|
|
39
|
-
const asyncRandomInt = (0,
|
|
38
|
+
const asyncRandomInt = (0, import_node_util.promisify)(import_node_crypto.randomInt);
|
|
40
39
|
class SequenceFieldPlugin extends import_server.Plugin {
|
|
41
40
|
constructor() {
|
|
42
41
|
super(...arguments);
|
|
43
|
-
this.patternTypes = new
|
|
42
|
+
this.patternTypes = new import_server.Registry();
|
|
44
43
|
}
|
|
45
44
|
async load() {
|
|
46
45
|
const { app, db, options } = this;
|
|
@@ -49,12 +48,12 @@ class SequenceFieldPlugin extends import_server.Plugin {
|
|
|
49
48
|
});
|
|
50
49
|
db.addMigrations({
|
|
51
50
|
namespace: "field-sequence",
|
|
52
|
-
directory:
|
|
51
|
+
directory: import_node_path.default.resolve(__dirname, "migrations"),
|
|
53
52
|
context: {
|
|
54
53
|
plugin: this
|
|
55
54
|
}
|
|
56
55
|
});
|
|
57
|
-
await this.importCollections(
|
|
56
|
+
await this.importCollections(import_node_path.default.resolve(__dirname, "collections"));
|
|
58
57
|
db.on("fields.beforeSave", async (field, { transaction }) => {
|
|
59
58
|
if (field.get("type") !== "sequence") {
|
|
60
59
|
return;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: import("@
|
|
1
|
+
declare const _default: import("@tego/server").CollectionOptions;
|
|
2
2
|
export default _default;
|
|
@@ -20,8 +20,8 @@ __export(sequences_exports, {
|
|
|
20
20
|
default: () => sequences_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(sequences_exports);
|
|
23
|
-
var
|
|
24
|
-
var sequences_default = (0,
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
|
+
var sequences_default = (0, import_server.defineCollection)({
|
|
25
25
|
dumpRules: {
|
|
26
26
|
group: "required",
|
|
27
27
|
async delayRestore(restorer) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { BaseColumnFieldOptions, DataTypes, Field, FieldContext, Model, Transactionable } from '@
|
|
2
|
-
import { Registry } from '@tachybase/utils';
|
|
1
|
+
import { BaseColumnFieldOptions, DataTypes, Field, FieldContext, Model, Registry, Transactionable } from '@tego/server';
|
|
3
2
|
export interface Pattern {
|
|
4
3
|
validate?(options: any): string | null;
|
|
5
4
|
generate(this: SequenceField, instance: Model, opts: {
|
|
@@ -31,12 +31,11 @@ __export(field_sequence_exports, {
|
|
|
31
31
|
sequencePatterns: () => sequencePatterns
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(field_sequence_exports);
|
|
34
|
-
var
|
|
35
|
-
var import_utils = require("@tachybase/utils");
|
|
34
|
+
var import_server = require("@tego/server");
|
|
36
35
|
var import_cron_parser = __toESM(require("cron-parser"));
|
|
37
36
|
var import_dayjs = __toESM(require("dayjs"));
|
|
38
37
|
var import_lodash = __toESM(require("lodash"));
|
|
39
|
-
const sequencePatterns = new
|
|
38
|
+
const sequencePatterns = new import_server.Registry();
|
|
40
39
|
sequencePatterns.register("string", {
|
|
41
40
|
validate(options) {
|
|
42
41
|
if (!(options == null ? void 0 : options.value)) {
|
|
@@ -257,15 +256,15 @@ sequencePatterns.register("date", {
|
|
|
257
256
|
return `.{${((_a = options == null ? void 0 : options.format) == null ? void 0 : _a.length) ?? 8}}`;
|
|
258
257
|
}
|
|
259
258
|
});
|
|
260
|
-
class SequenceField extends
|
|
259
|
+
class SequenceField extends import_server.Field {
|
|
261
260
|
constructor(options, context) {
|
|
262
261
|
super(options, context);
|
|
263
262
|
this.validate = (instance) => {
|
|
264
263
|
const { name, inputable, match } = this.options;
|
|
265
264
|
const value = instance.get(name);
|
|
266
265
|
if (value != null && inputable && match && !this.match(value)) {
|
|
267
|
-
throw new
|
|
268
|
-
new
|
|
266
|
+
throw new import_server.ValidationError("sequence pattern not match", [
|
|
267
|
+
new import_server.ValidationErrorItem(
|
|
269
268
|
`input value of ${name} field not match the sequence pattern (${this.matcher.toString()}) which is required`,
|
|
270
269
|
"validation error",
|
|
271
270
|
// NOTE: type should only be this which in sequelize enum set
|
|
@@ -343,7 +342,7 @@ class SequenceField extends import_database.Field {
|
|
|
343
342
|
this.matcher = new RegExp(`^${patterns.map((p) => `(${p})`).join("")}$`, "i");
|
|
344
343
|
}
|
|
345
344
|
get dataType() {
|
|
346
|
-
return
|
|
345
|
+
return import_server.DataTypes.STRING;
|
|
347
346
|
}
|
|
348
347
|
match(value) {
|
|
349
348
|
return typeof value === "string" ? value.match(this.matcher) : null;
|
|
@@ -20,7 +20,7 @@ __export(sequence_field_key_exports, {
|
|
|
20
20
|
default: () => sequence_field_key_default
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(sequence_field_key_exports);
|
|
23
|
-
var import_server = require("@
|
|
23
|
+
var import_server = require("@tego/server");
|
|
24
24
|
class sequence_field_key_default extends import_server.Migration {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachybase/plugin-field-sequence",
|
|
3
3
|
"displayName": "Collection field: Sequence",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.22",
|
|
5
5
|
"description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"Collection fields"
|
|
@@ -10,28 +10,21 @@
|
|
|
10
10
|
"main": "./dist/server/index.js",
|
|
11
11
|
"dependencies": {},
|
|
12
12
|
"devDependencies": {
|
|
13
|
+
"@tachybase/schema": "^1.3.39",
|
|
14
|
+
"@tachybase/test": "^1.3.39",
|
|
15
|
+
"@tego/client": "^1.3.39",
|
|
16
|
+
"@tego/server": "^1.3.39",
|
|
13
17
|
"antd": "5.22.5",
|
|
14
18
|
"cron-parser": "4.9.0",
|
|
15
19
|
"dayjs": "1.11.13",
|
|
16
20
|
"lodash": "4.17.21",
|
|
17
|
-
"react": "
|
|
18
|
-
"react-i18next": "
|
|
21
|
+
"react": "18.3.1",
|
|
22
|
+
"react-i18next": "15.2.0",
|
|
19
23
|
"react-js-cron": "^3.2.0",
|
|
20
|
-
"@tachybase/
|
|
21
|
-
"@tachybase/
|
|
22
|
-
},
|
|
23
|
-
"peerDependencies": {
|
|
24
|
-
"@tachybase/actions": "1.3.21",
|
|
25
|
-
"@tachybase/client": "1.3.21",
|
|
26
|
-
"@tachybase/module-collection": "1.3.21",
|
|
27
|
-
"@tachybase/server": "1.3.21",
|
|
28
|
-
"@tachybase/database": "1.3.21",
|
|
29
|
-
"@tachybase/utils": "1.3.21",
|
|
30
|
-
"@tachybase/test": "1.3.21"
|
|
24
|
+
"@tachybase/client": "1.3.22",
|
|
25
|
+
"@tachybase/module-collection": "1.3.22"
|
|
31
26
|
},
|
|
32
27
|
"description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。",
|
|
33
28
|
"displayName.zh-CN": "数据表字段:自动编码",
|
|
34
|
-
"scripts": {
|
|
35
|
-
"build": "tachybase-build --no-dts @tachybase/plugin-field-sequence"
|
|
36
|
-
}
|
|
29
|
+
"scripts": {}
|
|
37
30
|
}
|