owl-cli 6.147.0 → 6.149.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +2 -2
- package/.vscode/launch.json +22 -22
- package/.vscode/settings.json +2 -2
- package/bin/createTables.js +94 -94
- package/bin/deploy.js +66 -66
- package/bin/dsl.js +223 -223
- package/bin/genEvents.js +188 -188
- package/bin/owl-init.js +50 -50
- package/bin/owl.js +305 -305
- package/bin/owlconfig.json +16 -16
- package/bin/table_mysql.js +189 -189
- package/bin/undeploy.js +56 -56
- package/defaultTemplate/api/build.xml +94 -94
- package/defaultTemplate/api/src/about.html +12 -12
- package/defaultTemplate/api/src/about.jsx +11 -11
- package/defaultTemplate/api/src/handlers/aggs.jsx +161 -161
- package/defaultTemplate/api/src/handlers/batchImport.jsx +78 -78
- package/defaultTemplate/api/src/handlers/delete.jsx +88 -88
- package/defaultTemplate/api/src/handlers/export.jsx +117 -117
- package/defaultTemplate/api/src/handlers/exportDoc.jsx +27 -27
- package/defaultTemplate/api/src/handlers/exportEx.jsx +77 -77
- package/defaultTemplate/api/src/handlers/exportWithTemplates.jsx +50 -50
- package/defaultTemplate/api/src/handlers/exportZip.jsx +26 -26
- package/defaultTemplate/api/src/handlers/get.jsx +50 -50
- package/defaultTemplate/api/src/handlers/getByIds.jsx +51 -51
- package/defaultTemplate/api/src/handlers/getChildren.jsx +96 -96
- package/defaultTemplate/api/src/handlers/getExportTaskInfo.jsx +34 -34
- package/defaultTemplate/api/src/handlers/getSpec.jsx +40 -40
- package/defaultTemplate/api/src/handlers/include/checklogin.jsx +786 -786
- package/defaultTemplate/api/src/handlers/include/diff.jsx +315 -315
- package/defaultTemplate/api/src/handlers/include/util.jsx +60 -60
- package/defaultTemplate/api/src/handlers/list.jsx +252 -252
- package/defaultTemplate/api/src/handlers/listEx.jsx +136 -114
- package/defaultTemplate/api/src/handlers/reIndex.jsx +63 -63
- package/defaultTemplate/api/src/handlers/recovery.jsx +53 -53
- package/defaultTemplate/api/src/handlers/save.jsx +125 -125
- package/defaultTemplate/api/src/handlers/upload.jsx +72 -72
- package/defaultTemplate/api/src/init/indexConfigs/changeMapping.json +14 -14
- package/defaultTemplate/api/src/init/indexConfigs/createAliase.json +10 -10
- package/defaultTemplate/api/src/init/indexConfigs/createIndex.json +55 -55
- package/defaultTemplate/api/src/init/indexConfigs/rebuildIndex.sh +27 -27
- package/defaultTemplate/api/src/init/indexConfigs/reindex.json +10 -10
- package/defaultTemplate/api/src/init/init.jsx +25 -25
- package/defaultTemplate/api/src/meta.json +10 -10
- package/defaultTemplate/api/src/services/dblayer.jsx +251 -251
- package/defaultTemplate/api/src/services/modelService.jsx +1239 -1241
- package/defaultTemplate/api/src/services/sqlstring.jsx +240 -240
- package/defaultTemplate/api/src/tasks/export.jsx +366 -366
- package/defaultTemplate/api/src/tasks/exportDoc.jsx +99 -99
- package/defaultTemplate/api/src/tasks/exportExTask.jsx +332 -332
- package/defaultTemplate/api/src/tasks/exportWithTemplateTask.jsx +128 -128
- package/defaultTemplate/api/src/tasks/exportZip.jsx +49 -49
- package/examples/buildProperties/build.properties +2 -2
- package/examples/gitignore/gitignore_example.txt +1 -1
- package/examples/models/product.json +52 -52
- package/examples/models/shop.json +71 -71
- package/examples/models/sku.json +254 -254
- package/examples/models/user.json +49 -49
- package/examples/owlconfig.json +13 -13
- package/package.json +33 -33
- package/todo.txt +4 -4
package/bin/table_mysql.js
CHANGED
|
@@ -1,190 +1,190 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 生成每个表的creat Table sql
|
|
3
|
-
* 作者:郑向阳(zxy@xinshi.net)
|
|
4
|
-
* 创建时间:2020-1-29
|
|
5
|
-
**/
|
|
6
|
-
|
|
7
|
-
function getType(field){
|
|
8
|
-
if(field.fieldType=='string'){
|
|
9
|
-
return "varchar(" + field.fieldSize + ")";
|
|
10
|
-
}
|
|
11
|
-
else if(field.fieldType=='number'){
|
|
12
|
-
return "numeric(" + field.fieldSize + ")";
|
|
13
|
-
}
|
|
14
|
-
else if(field.fieldType=='date'){
|
|
15
|
-
return "datetime";
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
return "varchar(128)";
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function getRequired(field){
|
|
23
|
-
let required = field.required;
|
|
24
|
-
if(required){
|
|
25
|
-
required = required.toLowerCase();
|
|
26
|
-
if(required=='true' || required=='t'){
|
|
27
|
-
return "not null";
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return "";
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function getFieldStatement(field,parentKey){
|
|
34
|
-
let fieldName = field.origKey;
|
|
35
|
-
if(parentKey){
|
|
36
|
-
fieldName = parentKey + field.origKey;
|
|
37
|
-
}
|
|
38
|
-
if(fieldName=='group'){
|
|
39
|
-
fieldName = "`group`";
|
|
40
|
-
}
|
|
41
|
-
let statement = fieldName + " " + getType(field) + " " + getRequired(field);
|
|
42
|
-
|
|
43
|
-
let fieldDesc = {
|
|
44
|
-
fieldName:fieldName,
|
|
45
|
-
fieldType:field.fieldType,
|
|
46
|
-
fieldSize:field.fieldSize
|
|
47
|
-
}
|
|
48
|
-
return [statement,fieldDesc];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function getFieldStatements(formSpec,parentKey){
|
|
52
|
-
let fieldStatements = [];
|
|
53
|
-
let fieldDescriptions = [];
|
|
54
|
-
let fields = formSpec.fields;
|
|
55
|
-
for(let i=0; i<fields.length; i++){
|
|
56
|
-
let field = fields[i];
|
|
57
|
-
if(field._ft=='field' && field.fieldType!='image'){
|
|
58
|
-
let st = getFieldStatement(field,parentKey);
|
|
59
|
-
if(st){
|
|
60
|
-
fieldStatements.push(st[0]);
|
|
61
|
-
fieldDescriptions.push(st[1]);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
else if(field._ft=='subform'){
|
|
66
|
-
let newParentKey = field.origKey;
|
|
67
|
-
if(parentKey){
|
|
68
|
-
newParentKey = parentKey + "__" + newParentKey;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
let subStatements = getFieldStatements(field,newParentKey);
|
|
72
|
-
if(subStatements){
|
|
73
|
-
fieldStatements = fieldStatements.concat(subStatements[0]);
|
|
74
|
-
fieldDescriptions = fieldDescriptions.concat(subStatements[1])
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return [fieldStatements,fieldDescriptions];
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
function getUniIndex(tableName,field){
|
|
82
|
-
let unique = field.unique;
|
|
83
|
-
if(unique){
|
|
84
|
-
unique = unique.toLowerCase();
|
|
85
|
-
if(unique=='true' || unique=='t'){
|
|
86
|
-
/*
|
|
87
|
-
create unique index t_order_order_code_uindex on t_order (order_code);
|
|
88
|
-
*/
|
|
89
|
-
let sql = `create unique index ${tableName}_${field.origKey}_uindex on ${tableName} (${field.origKey});`
|
|
90
|
-
return sql;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function getUniIndexes(tableName,formSpec){
|
|
97
|
-
let sqls = [];
|
|
98
|
-
let fields = formSpec.fields;
|
|
99
|
-
for(let i=0; i<fields.length; i++){
|
|
100
|
-
let field = fields[i];
|
|
101
|
-
if(field._ft=='field' && field.fieldType!='image'){
|
|
102
|
-
let st = getUniIndex(tableName,field);
|
|
103
|
-
if(st){
|
|
104
|
-
sqls.push(st);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
else if(field._ft=='subform'){
|
|
108
|
-
let subsqls = getUniIndexes(tableName,field);
|
|
109
|
-
if(subsqls){
|
|
110
|
-
sqls = sqls.concat(subsqls);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return sqls;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
function genSubTables(tableName, formSpec){
|
|
120
|
-
let sqls = [];
|
|
121
|
-
let tables = [];
|
|
122
|
-
|
|
123
|
-
let fields = formSpec.fields;
|
|
124
|
-
for(let i=0; i<fields.length; i++){
|
|
125
|
-
let field = fields[i];
|
|
126
|
-
if(field._ft=='array'){
|
|
127
|
-
|
|
128
|
-
let subtableInfos = genTableSql(tableName+"__" + field.origKey,field,true,tableName);
|
|
129
|
-
if(subtableInfos){
|
|
130
|
-
// tableInfos = tableInfos.concat(subtableInfos);
|
|
131
|
-
sqls = sqls.concat(subtableInfos[0]);
|
|
132
|
-
tables = tables.concat(subtableInfos[1]);
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return [sqls, tables];
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
function genTableSql(tableName, formSpec,isSubTable,parentTableName) {
|
|
142
|
-
let fieldInfos = getFieldStatements(formSpec);
|
|
143
|
-
let fieldStatements = fieldInfos[0];
|
|
144
|
-
let fieldDescriptions = fieldInfos[1];
|
|
145
|
-
|
|
146
|
-
if(isSubTable){
|
|
147
|
-
fieldStatements.push("id varchar(64) not null");
|
|
148
|
-
fieldStatements.push("parentId varchar(64) not null");
|
|
149
|
-
fieldStatements.push(`constraint foreign key (parentId) references ${parentTableName} (id) on update cascade on delete cascade`)
|
|
150
|
-
}
|
|
151
|
-
fieldStatements.push("_v int not null");
|
|
152
|
-
// fieldDescriptions.push( {fieldName:"_v",
|
|
153
|
-
// fieldType:"number",
|
|
154
|
-
// fieldSize:10
|
|
155
|
-
// });
|
|
156
|
-
fieldStatements.push("deleted bool not null default false");
|
|
157
|
-
fieldStatements.push("_lastModified datetime not null default CURRENT_TIMESTAMP");
|
|
158
|
-
let str = "create table " + tableName + " ( \n\t" + fieldStatements.join(",\n\t") + "\n);";
|
|
159
|
-
let sqls = [str];
|
|
160
|
-
let tables = [];
|
|
161
|
-
|
|
162
|
-
tables.push({
|
|
163
|
-
tableName:tableName,
|
|
164
|
-
fieldDescriptions:fieldDescriptions
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
//开始生成uniqueIndex 和 PK index
|
|
168
|
-
let primaryIndex = "create unique index " + tableName + "_id_uindex on " + tableName + " (id);"
|
|
169
|
-
sqls.push(primaryIndex);
|
|
170
|
-
|
|
171
|
-
let addPrimaryKeyConstraint = `alter table ${tableName} add constraint ${tableName}_pk primary key (id);`;
|
|
172
|
-
sqls.push(addPrimaryKeyConstraint);
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
//针对每一个unique字段生成一个unique index
|
|
176
|
-
sqls = sqls.concat(getUniIndexes(tableName,formSpec));
|
|
177
|
-
|
|
178
|
-
let subTableInfos = genSubTables(tableName,formSpec);
|
|
179
|
-
sqls = sqls.concat(subTableInfos[0]);
|
|
180
|
-
tables = tables.concat(subTableInfos[1]);
|
|
181
|
-
|
|
182
|
-
//生成从表的table sqls
|
|
183
|
-
// return sqls.join("\n\n");
|
|
184
|
-
return [sqls,tables];
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
module.exports = {
|
|
189
|
-
genTableSql: genTableSql
|
|
1
|
+
/**
|
|
2
|
+
* 生成每个表的creat Table sql
|
|
3
|
+
* 作者:郑向阳(zxy@xinshi.net)
|
|
4
|
+
* 创建时间:2020-1-29
|
|
5
|
+
**/
|
|
6
|
+
|
|
7
|
+
function getType(field){
|
|
8
|
+
if(field.fieldType=='string'){
|
|
9
|
+
return "varchar(" + field.fieldSize + ")";
|
|
10
|
+
}
|
|
11
|
+
else if(field.fieldType=='number'){
|
|
12
|
+
return "numeric(" + field.fieldSize + ")";
|
|
13
|
+
}
|
|
14
|
+
else if(field.fieldType=='date'){
|
|
15
|
+
return "datetime";
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return "varchar(128)";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function getRequired(field){
|
|
23
|
+
let required = field.required;
|
|
24
|
+
if(required){
|
|
25
|
+
required = required.toLowerCase();
|
|
26
|
+
if(required=='true' || required=='t'){
|
|
27
|
+
return "not null";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return "";
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function getFieldStatement(field,parentKey){
|
|
34
|
+
let fieldName = field.origKey;
|
|
35
|
+
if(parentKey){
|
|
36
|
+
fieldName = parentKey + field.origKey;
|
|
37
|
+
}
|
|
38
|
+
if(fieldName=='group'){
|
|
39
|
+
fieldName = "`group`";
|
|
40
|
+
}
|
|
41
|
+
let statement = fieldName + " " + getType(field) + " " + getRequired(field);
|
|
42
|
+
|
|
43
|
+
let fieldDesc = {
|
|
44
|
+
fieldName:fieldName,
|
|
45
|
+
fieldType:field.fieldType,
|
|
46
|
+
fieldSize:field.fieldSize
|
|
47
|
+
}
|
|
48
|
+
return [statement,fieldDesc];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function getFieldStatements(formSpec,parentKey){
|
|
52
|
+
let fieldStatements = [];
|
|
53
|
+
let fieldDescriptions = [];
|
|
54
|
+
let fields = formSpec.fields;
|
|
55
|
+
for(let i=0; i<fields.length; i++){
|
|
56
|
+
let field = fields[i];
|
|
57
|
+
if(field._ft=='field' && field.fieldType!='image'){
|
|
58
|
+
let st = getFieldStatement(field,parentKey);
|
|
59
|
+
if(st){
|
|
60
|
+
fieldStatements.push(st[0]);
|
|
61
|
+
fieldDescriptions.push(st[1]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
else if(field._ft=='subform'){
|
|
66
|
+
let newParentKey = field.origKey;
|
|
67
|
+
if(parentKey){
|
|
68
|
+
newParentKey = parentKey + "__" + newParentKey;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
let subStatements = getFieldStatements(field,newParentKey);
|
|
72
|
+
if(subStatements){
|
|
73
|
+
fieldStatements = fieldStatements.concat(subStatements[0]);
|
|
74
|
+
fieldDescriptions = fieldDescriptions.concat(subStatements[1])
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return [fieldStatements,fieldDescriptions];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function getUniIndex(tableName,field){
|
|
82
|
+
let unique = field.unique;
|
|
83
|
+
if(unique){
|
|
84
|
+
unique = unique.toLowerCase();
|
|
85
|
+
if(unique=='true' || unique=='t'){
|
|
86
|
+
/*
|
|
87
|
+
create unique index t_order_order_code_uindex on t_order (order_code);
|
|
88
|
+
*/
|
|
89
|
+
let sql = `create unique index ${tableName}_${field.origKey}_uindex on ${tableName} (${field.origKey});`
|
|
90
|
+
return sql;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function getUniIndexes(tableName,formSpec){
|
|
97
|
+
let sqls = [];
|
|
98
|
+
let fields = formSpec.fields;
|
|
99
|
+
for(let i=0; i<fields.length; i++){
|
|
100
|
+
let field = fields[i];
|
|
101
|
+
if(field._ft=='field' && field.fieldType!='image'){
|
|
102
|
+
let st = getUniIndex(tableName,field);
|
|
103
|
+
if(st){
|
|
104
|
+
sqls.push(st);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else if(field._ft=='subform'){
|
|
108
|
+
let subsqls = getUniIndexes(tableName,field);
|
|
109
|
+
if(subsqls){
|
|
110
|
+
sqls = sqls.concat(subsqls);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return sqls;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
function genSubTables(tableName, formSpec){
|
|
120
|
+
let sqls = [];
|
|
121
|
+
let tables = [];
|
|
122
|
+
|
|
123
|
+
let fields = formSpec.fields;
|
|
124
|
+
for(let i=0; i<fields.length; i++){
|
|
125
|
+
let field = fields[i];
|
|
126
|
+
if(field._ft=='array'){
|
|
127
|
+
|
|
128
|
+
let subtableInfos = genTableSql(tableName+"__" + field.origKey,field,true,tableName);
|
|
129
|
+
if(subtableInfos){
|
|
130
|
+
// tableInfos = tableInfos.concat(subtableInfos);
|
|
131
|
+
sqls = sqls.concat(subtableInfos[0]);
|
|
132
|
+
tables = tables.concat(subtableInfos[1]);
|
|
133
|
+
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return [sqls, tables];
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
function genTableSql(tableName, formSpec,isSubTable,parentTableName) {
|
|
142
|
+
let fieldInfos = getFieldStatements(formSpec);
|
|
143
|
+
let fieldStatements = fieldInfos[0];
|
|
144
|
+
let fieldDescriptions = fieldInfos[1];
|
|
145
|
+
|
|
146
|
+
if(isSubTable){
|
|
147
|
+
fieldStatements.push("id varchar(64) not null");
|
|
148
|
+
fieldStatements.push("parentId varchar(64) not null");
|
|
149
|
+
fieldStatements.push(`constraint foreign key (parentId) references ${parentTableName} (id) on update cascade on delete cascade`)
|
|
150
|
+
}
|
|
151
|
+
fieldStatements.push("_v int not null");
|
|
152
|
+
// fieldDescriptions.push( {fieldName:"_v",
|
|
153
|
+
// fieldType:"number",
|
|
154
|
+
// fieldSize:10
|
|
155
|
+
// });
|
|
156
|
+
fieldStatements.push("deleted bool not null default false");
|
|
157
|
+
fieldStatements.push("_lastModified datetime not null default CURRENT_TIMESTAMP");
|
|
158
|
+
let str = "create table " + tableName + " ( \n\t" + fieldStatements.join(",\n\t") + "\n);";
|
|
159
|
+
let sqls = [str];
|
|
160
|
+
let tables = [];
|
|
161
|
+
|
|
162
|
+
tables.push({
|
|
163
|
+
tableName:tableName,
|
|
164
|
+
fieldDescriptions:fieldDescriptions
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
//开始生成uniqueIndex 和 PK index
|
|
168
|
+
let primaryIndex = "create unique index " + tableName + "_id_uindex on " + tableName + " (id);"
|
|
169
|
+
sqls.push(primaryIndex);
|
|
170
|
+
|
|
171
|
+
let addPrimaryKeyConstraint = `alter table ${tableName} add constraint ${tableName}_pk primary key (id);`;
|
|
172
|
+
sqls.push(addPrimaryKeyConstraint);
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
//针对每一个unique字段生成一个unique index
|
|
176
|
+
sqls = sqls.concat(getUniIndexes(tableName,formSpec));
|
|
177
|
+
|
|
178
|
+
let subTableInfos = genSubTables(tableName,formSpec);
|
|
179
|
+
sqls = sqls.concat(subTableInfos[0]);
|
|
180
|
+
tables = tables.concat(subTableInfos[1]);
|
|
181
|
+
|
|
182
|
+
//生成从表的table sqls
|
|
183
|
+
// return sqls.join("\n\n");
|
|
184
|
+
return [sqls,tables];
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
module.exports = {
|
|
189
|
+
genTableSql: genTableSql
|
|
190
190
|
}
|
package/bin/undeploy.js
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const {lstatSync, readdirSync} = require('fs')
|
|
4
|
-
const fs = require('fs')
|
|
5
|
-
const {join, resolve} = require('path')
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const isDirectory = source => lstatSync(source).isDirectory()
|
|
9
|
-
const isFile = source => {
|
|
10
|
-
try {
|
|
11
|
-
return fs.statSync(source).isFile()
|
|
12
|
-
} catch (e) {
|
|
13
|
-
return false
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
function remove(owl){
|
|
19
|
-
var appId = "owl_" + owl._t;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function processInputDir(dir, outdir, templatePath, buildType, project) {
|
|
23
|
-
readdirSync(resolve(cwd, dir)).map(name => {
|
|
24
|
-
if (isDirectory(resolve(dir, name))) {
|
|
25
|
-
try {
|
|
26
|
-
fs.mkdirSync(resolve(outdir, name))
|
|
27
|
-
} catch (e) {
|
|
28
|
-
}
|
|
29
|
-
processInputDir(resolve(dir, name), resolve(outdir, name), templatePath, buildType,project)
|
|
30
|
-
} else if (name.indexOf('.json') > 0) {
|
|
31
|
-
processOwlFile(dir, name, outdir, templatePath, buildType, dir,project)
|
|
32
|
-
console.log("processed " + name);
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
var configFile = resolve(cwd,"owlconfig.json");
|
|
38
|
-
if (process.argv.length > 2) {
|
|
39
|
-
configFile = resolve(cwd, process.argv[2]);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
var content = fs.readFileSync(configFile, {encoding: 'utf-8'})
|
|
44
|
-
var owlconfig = JSON.parse(content)
|
|
45
|
-
var inPath = owlconfig.models;
|
|
46
|
-
var outPath = owlconfig.generatedApps
|
|
47
|
-
var templatePath = owlconfig.templates
|
|
48
|
-
var buildType = owlconfig.buildType;
|
|
49
|
-
var project = owlconfig.project;
|
|
50
|
-
buildProperties = owlconfig.buildProperties
|
|
51
|
-
libpath = owlconfig.libpath
|
|
52
|
-
|
|
53
|
-
var fulloutPath = resolve(cwd,outPath);
|
|
54
|
-
|
|
55
|
-
mkdir(fulloutPath);
|
|
56
|
-
processInputDir(inPath, fulloutPath, templatePath, buildType,project);
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const {lstatSync, readdirSync} = require('fs')
|
|
4
|
+
const fs = require('fs')
|
|
5
|
+
const {join, resolve} = require('path')
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
const isDirectory = source => lstatSync(source).isDirectory()
|
|
9
|
+
const isFile = source => {
|
|
10
|
+
try {
|
|
11
|
+
return fs.statSync(source).isFile()
|
|
12
|
+
} catch (e) {
|
|
13
|
+
return false
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
function remove(owl){
|
|
19
|
+
var appId = "owl_" + owl._t;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function processInputDir(dir, outdir, templatePath, buildType, project) {
|
|
23
|
+
readdirSync(resolve(cwd, dir)).map(name => {
|
|
24
|
+
if (isDirectory(resolve(dir, name))) {
|
|
25
|
+
try {
|
|
26
|
+
fs.mkdirSync(resolve(outdir, name))
|
|
27
|
+
} catch (e) {
|
|
28
|
+
}
|
|
29
|
+
processInputDir(resolve(dir, name), resolve(outdir, name), templatePath, buildType,project)
|
|
30
|
+
} else if (name.indexOf('.json') > 0) {
|
|
31
|
+
processOwlFile(dir, name, outdir, templatePath, buildType, dir,project)
|
|
32
|
+
console.log("processed " + name);
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var configFile = resolve(cwd,"owlconfig.json");
|
|
38
|
+
if (process.argv.length > 2) {
|
|
39
|
+
configFile = resolve(cwd, process.argv[2]);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
var content = fs.readFileSync(configFile, {encoding: 'utf-8'})
|
|
44
|
+
var owlconfig = JSON.parse(content)
|
|
45
|
+
var inPath = owlconfig.models;
|
|
46
|
+
var outPath = owlconfig.generatedApps
|
|
47
|
+
var templatePath = owlconfig.templates
|
|
48
|
+
var buildType = owlconfig.buildType;
|
|
49
|
+
var project = owlconfig.project;
|
|
50
|
+
buildProperties = owlconfig.buildProperties
|
|
51
|
+
libpath = owlconfig.libpath
|
|
52
|
+
|
|
53
|
+
var fulloutPath = resolve(cwd,outPath);
|
|
54
|
+
|
|
55
|
+
mkdir(fulloutPath);
|
|
56
|
+
processInputDir(inPath, fulloutPath, templatePath, buildType,project);
|