mushroom-cli 1.1.0-alpha.8 → 1.1.0-alpha.9
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/gen/gen-js-driver.js +23 -4
- package/gen/gen-ts-driver.js +51 -9
- package/package.json +1 -1
package/gen/gen-js-driver.js
CHANGED
|
@@ -30,9 +30,29 @@ function genJavascriptDriverString(aliasProject, source) {
|
|
|
30
30
|
|
|
31
31
|
const entities = common.getEntities(source, aliasProject.allowRoles);
|
|
32
32
|
|
|
33
|
+
let extensionsImportLines = [];
|
|
34
|
+
let extensionsExportLines = [];
|
|
35
|
+
let extensionsCodeLines = [];
|
|
36
|
+
|
|
37
|
+
if (Array.isArray(aliasProject.features)) {
|
|
38
|
+
if (aliasProject.features.includes("auth")) {
|
|
39
|
+
extensionsImportLines.push('import * as AuthExtension from "mushroomjs-auth";');
|
|
40
|
+
extensionsExportLines.push('Auth: AuthExtension');
|
|
41
|
+
extensionsCodeLines.push("AuthExtension.useAuth(AuthExtension.AuthLocalStorage);");
|
|
42
|
+
}
|
|
43
|
+
if (aliasProject.features.includes("file")) {
|
|
44
|
+
extensionsImportLines.push('import * as FileExtension from "mushroomjs-file";');
|
|
45
|
+
extensionsExportLines.push('File: FileExtension');
|
|
46
|
+
extensionsCodeLines.push("FileExtension.useFile();");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
33
50
|
let code = `import mushroom, {defineAsyncResource} from "mushroomjs";
|
|
34
|
-
|
|
35
|
-
${
|
|
51
|
+
export * from "mushroomjs";
|
|
52
|
+
${extensionsImportLines.join("\n")}
|
|
53
|
+
export const extensions = {
|
|
54
|
+
${extensionsExportLines.join(",\n ")}
|
|
55
|
+
};
|
|
36
56
|
|
|
37
57
|
"use strict";
|
|
38
58
|
|
|
@@ -66,8 +86,7 @@ ${Array.isArray(aliasProject.features) && aliasProject.features.includes("file")
|
|
|
66
86
|
code += `
|
|
67
87
|
mushroom.$using(${JSON.stringify(common.getRootUrl(source))});
|
|
68
88
|
|
|
69
|
-
${
|
|
70
|
-
${Array.isArray(aliasProject.features) && aliasProject.features.includes("auth") ? "useFile();" : ""}
|
|
89
|
+
${extensionsCodeLines.join('\n')}
|
|
71
90
|
|
|
72
91
|
export default mushroom;`;
|
|
73
92
|
|
package/gen/gen-ts-driver.js
CHANGED
|
@@ -104,10 +104,32 @@ function genTypescriptDriverString(aliasProject, source) {
|
|
|
104
104
|
|
|
105
105
|
const entities = common.getEntities(source, aliasProject.allowRoles);
|
|
106
106
|
|
|
107
|
+
let extensionsImportLines = [];
|
|
108
|
+
let extensionsExportLines = [];
|
|
109
|
+
let extensionsTypes = [];
|
|
110
|
+
let extensionsCodeLines = [];
|
|
111
|
+
|
|
112
|
+
if (Array.isArray(aliasProject.features)) {
|
|
113
|
+
if (aliasProject.features.includes("auth")) {
|
|
114
|
+
extensionsImportLines.push('import * as AuthExtension from "mushroomjs-auth";');
|
|
115
|
+
extensionsExportLines.push('File: FileExtension');
|
|
116
|
+
extensionsTypes.push("AuthExtension.IMushroomAuth & ");
|
|
117
|
+
extensionsCodeLines.push("AuthExtension.useAuth(AuthExtension.AuthLocalStorage);");
|
|
118
|
+
}
|
|
119
|
+
if (aliasProject.features.includes("file")) {
|
|
120
|
+
extensionsImportLines.push('import * as FileExtension from "mushroomjs-file";');
|
|
121
|
+
extensionsExportLines.push('Auth: AuthExtension');
|
|
122
|
+
extensionsTypes.push("FileExtension.IMushroomFile & ");
|
|
123
|
+
extensionsCodeLines.push("FileExtension.useFile();");
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
107
127
|
let code = `import mushroom, { defineAsyncResource, defineAsyncView, fireEvent, createRestfulAsyncFunction, IdType, IMushroom, Mushroom, MushroomRequest, MushroomRequestSetting, MushroomRestfulRequest, MushroomResponse, MushroomResourceBase, MushroomListResource, MushroomFindByIdResource, MushroomCreateResource, MushroomBatchCreateResource, MushroomUpdateResource, MushroomBatchUpdateResource, MushroomPartialUpdateResource, MushroomDeleteResource, MushroomBatchDeleteResource, MushroomExtensibleResource, MushroomViewFunction, MushroomError } from "mushroomjs";
|
|
108
|
-
export
|
|
109
|
-
${
|
|
110
|
-
|
|
128
|
+
export * from "mushroomjs";
|
|
129
|
+
${extensionsImportLines.join("\n")}
|
|
130
|
+
export const extensions = {
|
|
131
|
+
${extensionsExportLines.join(",\n ")}
|
|
132
|
+
};
|
|
111
133
|
|
|
112
134
|
export type ISODateValue = string | Date;
|
|
113
135
|
export type IdValue = ${source.idType == "AutoIncInt" || source.idType == "AutoIncLong" ? "number" : "string"};
|
|
@@ -231,14 +253,14 @@ ${customMethodCode}}
|
|
|
231
253
|
}
|
|
232
254
|
|
|
233
255
|
code += `
|
|
234
|
-
${Array.isArray(aliasProject.features) && aliasProject.features.includes("auth") ? "useAuth(AuthLocalStorage);" : ""}
|
|
235
|
-
${Array.isArray(aliasProject.features) && aliasProject.features.includes("auth") ? "useFile();" : ""}
|
|
236
256
|
mushroom.$using(${JSON.stringify(common.getRootUrl(source))});
|
|
237
257
|
|
|
258
|
+
${extensionsCodeLines.join('\n')}
|
|
259
|
+
|
|
238
260
|
export interface IApi extends IMushroom {
|
|
239
261
|
${iApiClassBody}};
|
|
240
262
|
|
|
241
|
-
export type Api = ${
|
|
263
|
+
export type Api = ${extensionsTypes.join('')}IApi;
|
|
242
264
|
|
|
243
265
|
export default mushroom as Api;`;
|
|
244
266
|
|
|
@@ -252,9 +274,29 @@ function genDtsString(aliasProject, source) {
|
|
|
252
274
|
|
|
253
275
|
const entities = common.getEntities(source, aliasProject.allowRoles);
|
|
254
276
|
|
|
277
|
+
let extensionsImportLines = [];
|
|
278
|
+
let extensionsExportLines = [];
|
|
279
|
+
let extensionsTypes = [];
|
|
280
|
+
|
|
281
|
+
if (Array.isArray(aliasProject.features)) {
|
|
282
|
+
if (aliasProject.features.includes("auth")) {
|
|
283
|
+
extensionsImportLines.push('import * as AuthExtension from "mushroomjs-auth";');
|
|
284
|
+
extensionsExportLines.push('Auth: typeof AuthExtension');
|
|
285
|
+
extensionsTypes.push("AuthExtension.IMushroomAuth & ");
|
|
286
|
+
}
|
|
287
|
+
if (aliasProject.features.includes("file")) {
|
|
288
|
+
extensionsImportLines.push('import * as FileExtension from "mushroomjs-file";');
|
|
289
|
+
extensionsExportLines.push('File: typeof FileExtension');
|
|
290
|
+
extensionsTypes.push("FileExtension.IMushroomFile & ");
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
|
|
255
294
|
let code = `import { IdType, IMushroom, Mushroom, MushroomRequest, MushroomRequestSetting, MushroomRestfulRequest, MushroomResponse, MushroomResourceBase, MushroomListResource, MushroomFindByIdResource, MushroomCreateResource, MushroomBatchCreateResource, MushroomUpdateResource, MushroomBatchUpdateResource, MushroomPartialUpdateResource, MushroomDeleteResource, MushroomBatchDeleteResource, MushroomExtensibleResource, MushroomViewFunction, MushroomError } from "mushroomjs";
|
|
256
|
-
|
|
257
|
-
${
|
|
295
|
+
export * from "mushroomjs";
|
|
296
|
+
${extensionsImportLines.join("\n")}
|
|
297
|
+
export declare const extensions = {
|
|
298
|
+
${extensionsExportLines.join(",\n ")}
|
|
299
|
+
};
|
|
258
300
|
|
|
259
301
|
export declare type ISODateValue = string | Date;
|
|
260
302
|
export declare type IdValue = ${source.idType == "AutoIncInt" || source.idType == "AutoIncLong" ? "number" : "string"};
|
|
@@ -377,7 +419,7 @@ ${customMethodCode}}
|
|
|
377
419
|
export interface IApi extends IMushroom {
|
|
378
420
|
${iApiClassBody}};
|
|
379
421
|
|
|
380
|
-
declare type Api = ${
|
|
422
|
+
declare type Api = ${extensionsTypes.join('')}IApi;
|
|
381
423
|
declare const _default: Api;
|
|
382
424
|
export default _default;`;
|
|
383
425
|
|