@simitgroup/simpleapp-generator 1.0.5 → 1.0.7
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/README.md +1 -1
- package/definations/category.cat.jsonschema.json +56 -0
- package/dist/createproject.js +41 -59
- package/dist/createproject.js.map +1 -1
- package/dist/generate.js +2 -2
- package/dist/generate.js.map +1 -1
- package/dist/index.js +23 -14
- package/dist/index.js.map +1 -1
- package/dist/processors/jsonschemabuilder.js +13 -6
- package/dist/processors/jsonschemabuilder.js.map +1 -1
- package/package.json +1 -1
- package/src/createproject.ts +45 -61
- package/src/generate.ts +2 -2
- package/src/index.ts +14 -5
- package/src/processors/jsonschemabuilder.ts +15 -7
- package/templates/basic/apiclient.eta +6 -4
- package/templates/nest.main.eta +1 -1
- package/templates/nuxt.config.eta +28 -4
- package/templates/nuxt.plugins.eta +58 -0
- package/definations/person.pes.jsonschema.json +0 -84
- package/definations/salesinvoice.si.jsonschema.json +0 -84
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ You need to install mongodb and openapi generator:
|
|
|
56
56
|
2. https://openapi-generator.tech/docs/installation/
|
|
57
57
|
|
|
58
58
|
# Quick Start
|
|
59
|
-
This quick start create a example project developed by simpleapp-generator
|
|
59
|
+
This quick start create a example project developed by simpleapp-generator
|
|
60
60
|
1. Install `simpleapp-generator`
|
|
61
61
|
```sh
|
|
62
62
|
npm install -g simpleapp-generator
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"properties": {
|
|
4
|
+
"organization_id": {
|
|
5
|
+
"type": "integer",
|
|
6
|
+
"examples": [
|
|
7
|
+
1
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"branch_id": {
|
|
11
|
+
"type": "integer",
|
|
12
|
+
"examples": [
|
|
13
|
+
1
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"category_id": {
|
|
17
|
+
"type": "integer",
|
|
18
|
+
"examples": [
|
|
19
|
+
100
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"category_code": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"examples": [
|
|
25
|
+
"stk"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"category_name": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"examples": [
|
|
31
|
+
"stocks"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"description": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"examples": [
|
|
37
|
+
""
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"isactive": {
|
|
41
|
+
"type": "boolean",
|
|
42
|
+
"examples": [
|
|
43
|
+
true
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"category_type": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"examples": [
|
|
49
|
+
"S"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"more": {
|
|
53
|
+
"type": "object"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
package/dist/createproject.js
CHANGED
|
@@ -54,72 +54,54 @@ const checkNestCli = (callback) => {
|
|
|
54
54
|
});
|
|
55
55
|
};
|
|
56
56
|
const createNuxt = (targetfolder, callback) => {
|
|
57
|
-
log.info("setting up nuxt frontend");
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
(0, child_process_1.exec)(`
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
callback();
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
throw error;
|
|
78
|
-
}
|
|
57
|
+
log.info("setting up nuxt frontend ${targetfolder}");
|
|
58
|
+
log.info(`frontend nuxt project "${targetfolder}" created, installing module`);
|
|
59
|
+
(0, child_process_1.exec)(`cd ${targetfolder};mkdir plugins;pnpm install;pnpm install -D prettier`, (error, stdout, stderr) => {
|
|
60
|
+
//;pnpm install
|
|
61
|
+
if (!error) {
|
|
62
|
+
(0, child_process_1.exec)(`pnpm install --save ajv ajv-formats primeflex primeicons primevue axios json-schema @simitgroup/simpleapp-vue-component@latest`, (error, stdout, stderr) => {
|
|
63
|
+
const eta = new Eta({ views: constants.templatedir });
|
|
64
|
+
const variables = [];
|
|
65
|
+
const txtEnv = eta.render('./nuxt.env.eta', variables);
|
|
66
|
+
(0, fs_1.writeFileSync)(`${targetfolder}/.env`, txtEnv);
|
|
67
|
+
const txtConfig = eta.render('./nuxt.config.eta', variables);
|
|
68
|
+
(0, fs_1.writeFileSync)(`${targetfolder}/nuxt.config.ts`, txtConfig);
|
|
69
|
+
const txtPlugins = eta.render('./nuxt.plugins.eta', variables);
|
|
70
|
+
(0, fs_1.writeFileSync)(`${targetfolder}/plugins/simpleapp.ts`, txtPlugins);
|
|
71
|
+
log.info("nuxt project completed");
|
|
72
|
+
callback();
|
|
79
73
|
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
});
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
85
78
|
});
|
|
86
79
|
};
|
|
87
80
|
exports.createNuxt = createNuxt;
|
|
88
81
|
const createNest = (targetfolder, callback) => {
|
|
89
|
-
checkNestCli(()
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
(0, child_process_1.exec)(`
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
(0, fs_1.writeFileSync)(`${targetfolder}/src/main.ts`, txtMain);
|
|
104
|
-
log.info("nest project completed");
|
|
105
|
-
callback();
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
log.error(stderr);
|
|
110
|
-
throw error;
|
|
111
|
-
}
|
|
82
|
+
// checkNestCli(()=>{
|
|
83
|
+
log.info(`creating backend project ${targetfolder}`);
|
|
84
|
+
(0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save @nestjs/swagger @nestjs/mongoose mongoose ajv ajv-formats @nestjs/config`, async (error, stdout, stderr) => {
|
|
85
|
+
// log.info(`dependency installed`)
|
|
86
|
+
if (!error) {
|
|
87
|
+
(0, child_process_1.exec)(`pnpm install ajv ajv-formats axios json-schema`, (error, stdout, stderr) => {
|
|
88
|
+
const eta = new Eta({ views: constants.templatedir });
|
|
89
|
+
const variables = [];
|
|
90
|
+
const txtEnv = eta.render('./nest.env.eta', variables);
|
|
91
|
+
const txtMain = eta.render('./nest.main.eta', variables);
|
|
92
|
+
(0, fs_1.writeFileSync)(`${targetfolder}/.env`, txtEnv);
|
|
93
|
+
(0, fs_1.writeFileSync)(`${targetfolder}/src/main.ts`, txtMain);
|
|
94
|
+
log.info("nest project completed");
|
|
95
|
+
callback();
|
|
112
96
|
});
|
|
113
|
-
|
|
114
|
-
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
log.error(stderr);
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
115
102
|
});
|
|
116
|
-
//
|
|
117
|
-
//
|
|
118
|
-
//install dependency
|
|
119
|
-
//create empty .env
|
|
120
|
-
//swap nestjs src/main.ts file
|
|
121
|
-
//try edit the configuration files
|
|
122
|
-
//console log http server how to start
|
|
103
|
+
//
|
|
104
|
+
// })
|
|
123
105
|
};
|
|
124
106
|
exports.createNest = createNest;
|
|
125
107
|
//# sourceMappingURL=createproject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createproject.js","sourceRoot":"","sources":["../src/createproject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"createproject.js","sourceRoot":"","sources":["../src/createproject.ts"],"names":[],"mappings":"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"}
|
package/dist/generate.js
CHANGED
|
@@ -67,9 +67,9 @@ const initialize = (defFolder, backendfolder, frontendfolder) => {
|
|
|
67
67
|
log.warn(`Load ` + clc.yellow(file) + ` but it is not supported`);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
log.info("Activated backend modules: ");
|
|
70
|
+
log.info("Activated backend modules: ", activatemodules);
|
|
71
71
|
// log.info(activatemodules)
|
|
72
|
-
|
|
72
|
+
loadSimpleAppModules(activatemodules, backendfolder);
|
|
73
73
|
return Promise.resolve(true);
|
|
74
74
|
};
|
|
75
75
|
exports.initialize = initialize;
|
package/dist/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAkE;AAClE,0EAA0E;AAC1E,sDAAuC;AACvC,sEAAoE;AAIpE,iCAAwC;AACxC,MAAM,GAAG,GAAoB,IAAI,cAAM,EAAE,CAAC;AAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAGjC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,2BAAoG;AACpG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,MAAM,EAAE,qBAAqB,EAAE,GAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnD,MAAM,KAAK,GAAG,WAAW,CAAC;AAC1B,MAAM,MAAM,GAAG,YAAY,CAAC;AAC5B,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,MAAM,IAAI,GAAG,EAAE,CAAC;AAET,MAAM,UAAU,GAAI,CAAC,SAAgB,EAAC,aAAoB,EAAC,cAAqB,EAAE,EAAE;IACzF,mBAAmB,CAAC,aAAa,EAAC,cAAc,CAAC,CAAA;IACnD,IAAI,eAAe,GAAgB,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,IAAA,gBAAW,EAAC,SAAS,CAAC,CAAA;IACpC,uCAAuC;IACrC,4BAA4B;IAC5B,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAE,KAAK,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,UAAU,GAAG,OAAO,CAAC;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAA,iBAAY,EAAC,SAAS,GAAE,IAAI,CAAC,GAAG,GAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,SAAS,GAAgB,EAAiB,CAAC;QAE/C,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YAChC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YACjC,UAAU,GAAG,OAAO,CAAC;YACrB,WAAW,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;YAChC,SAAS,GAAG,IAAA,yCAAqB,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9D,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAC,aAAa,EAAC,cAAc,CAAC,CAAC;YAC/E,eAAe,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,qBAAqB,CAAC,OAAO,CAAC,EAAC,CAAC,CAAA;SAC/E;aAAM;YACL,GAAG,CAAC,IAAI,CAAC,OAAO,GAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,CAAA;SAChE;KAEF;IACD,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ const capitalizeFirstLetter = require('./libs');
|
|
|
12
12
|
// const log: Logger = new Logger();
|
|
13
13
|
const figlet = require("figlet");
|
|
14
14
|
// const program = new Command();
|
|
15
|
-
let version = '1.0.
|
|
15
|
+
let version = '1.0.8';
|
|
16
16
|
program
|
|
17
17
|
.version(version)
|
|
18
18
|
.description("An simpleapp CLI tool for generate frontend (vuejs) and backend(nestjs) codes")
|
|
@@ -33,33 +33,42 @@ const frontendFolder = (_c = configs.frontendFolder) !== null && _c !== void 0 ?
|
|
|
33
33
|
const openapi3Yaml = (_d = configs.openapi3Yaml) !== null && _d !== void 0 ? _d : options.openapi3Yaml;
|
|
34
34
|
const runGenNext = (callback) => {
|
|
35
35
|
if (!fs.existsSync(backendFolder)) {
|
|
36
|
+
console.error(`${backendFolder} does not exists, please run "nest new -p pnpm ${backendFolder}"`);
|
|
37
|
+
}
|
|
38
|
+
else if (!fs.existsSync(`${backendFolder}/.env`)) {
|
|
39
|
+
console.log(`initial nest configuratoin for simpleapp generator`);
|
|
36
40
|
createNest(backendFolder, callback);
|
|
37
41
|
}
|
|
38
42
|
else {
|
|
43
|
+
console.log(`.env file exists, skip nest initialization`);
|
|
39
44
|
callback();
|
|
40
45
|
}
|
|
41
46
|
};
|
|
42
47
|
const runGenNuxt = (callback) => {
|
|
43
48
|
if (!fs.existsSync(frontendFolder)) {
|
|
49
|
+
console.error(`${frontendFolder} does not exists, please run "npx nuxi@latest init ${frontendFolder}"`);
|
|
50
|
+
}
|
|
51
|
+
else if (!fs.existsSync(`${frontendFolder}/.env`)) {
|
|
52
|
+
console.log(`initial nuxt configuratoin for simpleapp generator`);
|
|
44
53
|
createNuxt(frontendFolder, callback);
|
|
45
54
|
}
|
|
46
55
|
else {
|
|
56
|
+
console.log(`.env file exists, skip nuxt initialization`);
|
|
47
57
|
callback();
|
|
48
58
|
}
|
|
49
59
|
};
|
|
50
|
-
|
|
51
|
-
console.log("
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
});
|
|
60
|
+
runGenNext(() => {
|
|
61
|
+
console.log("runGenNext (backen) done");
|
|
62
|
+
// runGenNuxt(()=>{
|
|
63
|
+
console.log("runGenNuxt (frontend) done");
|
|
64
|
+
generator.initialize(definationsFolder, backendFolder, frontendFolder);
|
|
65
|
+
if (openapi3Yaml != '') {
|
|
66
|
+
exec(`openapi-generator generate -i ${openapi3Yaml} -o ${frontendFolder}/server/openapi -g typescript-axios --skip-validate-spec`, (error, stdout, stderr) => {
|
|
67
|
+
if (error) {
|
|
68
|
+
console.error(stderr);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
63
72
|
});
|
|
64
73
|
// pnpm exec prettier ./src/docs --write
|
|
65
74
|
// pnpm exec prettier ./apiclients --write
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,MAAM,OAAO,GAAI,OAAO,CAAC,WAAW,CAAC,CAAA,CAAC,gBAAgB;AACtD,MAAM,UAAU,GAAE,OAAO,CAAE,QAAQ,CAAC,CAAA;AACpC,MAAM,SAAS,GAAE,OAAO,CAAE,YAAY,CAAC,CAAA;AACvC,MAAM,EAAE,GAAG,OAAO,CAAE,IAAI,CAAC,CAAA;AACzB,MAAO,EAAC,UAAU,EAAC,UAAU,EAAC,GAAE,OAAO,CAAE,iBAAiB,CAAC,CAAA;AAC3D,MAAM,EAAC,IAAI,EAAC,GAAI,OAAO,CAAE,eAAe,CAAC,CAAA;AAEzC,MAAM,qBAAqB,GAAE,OAAO,CAAE,QAAQ,CAAC,CAAA;AAC/C,+CAA+C;AAE/C,qCAAqC;AACrC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,iCAAiC;AAGjC,IAAI,OAAO,GAAC,OAAO,CAAA;AACnB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,+EAA+E,CAAC;KAC5F,MAAM,CAAC,2BAA2B,EAAE,sJAAsJ,CAAC;KAC3L,MAAM,CAAC,kCAAkC,EAAE,yCAAyC,CAAC;KACrF,MAAM,CAAC,8BAA8B,EAAE,qCAAqC,CAAC;KAC7E,MAAM,CAAC,+BAA+B,EAAE,sCAAsC,CAAC;KAC/E,MAAM,CAAC,6BAA6B,EAAE,2CAA2C,CAAC;KAClF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAGvB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC,CAAC;AAC/D,uBAAuB;AACvB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAC3C,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,OAAO,CAAC,CAAA;AACvC,MAAM,iBAAiB,GAAG,MAAA,OAAO,CAAC,iBAAiB,mCAAI,OAAO,CAAC,iBAAiB,CAAA;AAChF,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,aAAa,mCAAI,OAAO,CAAC,aAAa,CAAA;AACpE,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,OAAO,CAAC,cAAc,CAAA;AACvE,MAAM,YAAY,GAAU,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,YAAY,CAAA;AAExE,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAC,EAAE;IAC7B,IAAG,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAC;QAC/B,UAAU,CAAC,aAAa,EAAC,QAAQ,CAAC,CAAA;KACnC;SAAI;QACH,QAAQ,EAAE,CAAA;KACX;AACH,CAAC,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAC,EAAE;IAC7B,IAAG,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAC;QAChC,UAAU,CAAC,cAAc,EAAC,QAAQ,CAAC,CAAA;KACpC;SAAI;QACH,QAAQ,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,14 +28,21 @@ const processObject = (doctype, docname, jsondata) => {
|
|
|
28
28
|
//ensure some field exists, also override it
|
|
29
29
|
jsondata.properties['_id'] = { type: 'string', description: 'Control value, dont edit it', };
|
|
30
30
|
jsondata.properties['doctype'] = { type: 'string', default: doctype, examples: [doctype], description: 'Control value, dont edit it', };
|
|
31
|
+
jsondata.properties['tenant_id'] = { type: 'number', description: 'Control value, dont edit it', };
|
|
32
|
+
jsondata.properties['organization_id'] = { type: 'number', description: 'Control value, dont edit it', };
|
|
33
|
+
jsondata.properties['branch_id'] = { type: 'number', description: 'Control value, dont edit it', };
|
|
34
|
+
jsondata.properties['created'] = { type: 'string', description: 'Control value, dont edit it', };
|
|
35
|
+
jsondata.properties['updated'] = { type: 'string', description: 'Control value, dont edit it', };
|
|
36
|
+
jsondata.properties['createdby'] = { type: 'string', description: 'Control value, dont edit it', };
|
|
37
|
+
jsondata.properties['updatedby'] = { type: 'string', description: 'Control value, dont edit it', };
|
|
31
38
|
return genSchema((0, libs_1.capitalizeFirstLetter)(docname), 'object', jsondata.properties, jsondata['required'] ? jsondata['required'] : []);
|
|
32
39
|
};
|
|
33
40
|
const genSchema = (docname, schematype, jsondata, //JSONSchema7,//|JsonSchemaProperties|JSONSchema7Definition,
|
|
34
41
|
requiredlist) => {
|
|
35
42
|
var _a, _b;
|
|
36
43
|
const newmodel = {};
|
|
37
|
-
const props = Object.getOwnPropertyNames(jsondata);
|
|
38
|
-
// console.log('====
|
|
44
|
+
const props = Object.getOwnPropertyNames(jsondata !== null && jsondata !== void 0 ? jsondata : {});
|
|
45
|
+
// console.log('==== jsondata', jsondata);
|
|
39
46
|
for (let i = 0; i < props.length; i++) {
|
|
40
47
|
const key = props[i];
|
|
41
48
|
//below is Object.assign use for force datatype compatibility
|
|
@@ -68,14 +75,16 @@ requiredlist) => {
|
|
|
68
75
|
}
|
|
69
76
|
else {
|
|
70
77
|
newmodel[key] = getField(key, obj, isrequired);
|
|
71
|
-
// console.log('--------newmodel', newmodel[key]);
|
|
78
|
+
// console.log(key,'--------newmodel',obj, newmodel[key]);
|
|
72
79
|
}
|
|
73
80
|
}
|
|
74
81
|
allmodels[docname] = { type: schematype, model: newmodel };
|
|
75
82
|
return newmodel;
|
|
76
83
|
};
|
|
77
84
|
const getField = (fieldname, obj, isrequired) => {
|
|
78
|
-
let datatype =
|
|
85
|
+
let datatype = obj.type;
|
|
86
|
+
// console.log(datatype)
|
|
87
|
+
//Fieldtypes.string;
|
|
79
88
|
let format = obj.format;
|
|
80
89
|
if (obj.type == 'integer') {
|
|
81
90
|
datatype = type_1.Fieldtypes.number;
|
|
@@ -92,8 +101,6 @@ const getField = (fieldname, obj, isrequired) => {
|
|
|
92
101
|
f.description = obj.description;
|
|
93
102
|
if (obj.format)
|
|
94
103
|
f.format = obj.format;
|
|
95
|
-
if (obj.example)
|
|
96
|
-
f.example = obj.example;
|
|
97
104
|
if (obj.examples)
|
|
98
105
|
f.examples = obj.examples;
|
|
99
106
|
if (obj.default) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonschemabuilder.js","sourceRoot":"","sources":["../../src/processors/jsonschemabuilder.ts"],"names":[],"mappings":";;;AAGA,kCAAgD;AAEhD,sDAAsD;AACtD,kCAKiB;AAGjB,IAAI,SAAS,GAAgB,EAAE,CAAC;AACzB,MAAM,qBAAqB,GAAG,CACnC,OAAe,EACf,OAAe,EACf,QAAoB,EACP,EAAE;IACf,SAAS,GAAG,EAAE,CAAC;IACf,MAAM,aAAa,qBAAqB,QAAQ,CAAE,CAAC;IACnD,IAAI,MAAmC,CAAC;IAExC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,EAAE;QACzC,sBAAsB;QACtB,wBAAwB;QACxB,MAAM,GAAG,aAAa,CAAC,OAAO,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACjD,+BAA+B;KAChC;SAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,EAAE;QACnC,MAAK,CAAC,4BAA4B,OAAO,IAAI,OAAO,EAAE,CAAC,CAAA;KACxD;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAnBW,QAAA,qBAAqB,yBAmBhC;AAGF,MAAM,aAAa,GAAG,CAAC,OAAe,EACpC,OAAe,EACf,QAAoB,EAAiB,EAAE;IACrC,IAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAC;QACzB,MAAM,CAAC,kEAAkE,CAAC,CAAA;KAC3E;IAED,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAC,IAAI,EAAE,QAAQ,EAAC,WAAW,EAAE,6BAA6B,GAAE,CAAC;IAC1F,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,6BAA6B,GAAE,CAAC;IACpI,OAAO,SAAS,CACd,IAAA,4BAAqB,EAAC,OAAO,CAAC,EAC9B,QAAQ,EACR,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CACjD,CAAC;AACN,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAChB,OAAe,EACf,UAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"jsonschemabuilder.js","sourceRoot":"","sources":["../../src/processors/jsonschemabuilder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/createproject.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { exec } from "child_process";
|
|
1
|
+
import { exec ,spawn} from "child_process";
|
|
2
2
|
import {writeFileSync} from 'fs'
|
|
3
3
|
import * as constants from './constant'
|
|
4
4
|
import { Logger, ILogObj } from "tslog";
|
|
@@ -29,70 +29,54 @@ const checkNestCli = (callback)=>{
|
|
|
29
29
|
})
|
|
30
30
|
}
|
|
31
31
|
export const createNuxt= (targetfolder:string,callback)=>{
|
|
32
|
-
log.info("setting up nuxt frontend")
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
32
|
+
log.info("setting up nuxt frontend ${targetfolder}")
|
|
33
|
+
|
|
34
|
+
log.info(`frontend nuxt project "${targetfolder}" created, installing module`)
|
|
35
|
+
exec(`cd ${targetfolder};mkdir plugins;pnpm install;pnpm install -D prettier`, (error, stdout, stderr)=>{
|
|
36
|
+
//;pnpm install
|
|
37
|
+
if(!error){
|
|
38
|
+
exec(`pnpm install --save ajv ajv-formats primeflex primeicons primevue axios json-schema @simitgroup/simpleapp-vue-component@latest`, (error, stdout, stderr)=>{
|
|
39
|
+
const eta = new Eta({views: constants.templatedir});
|
|
40
|
+
const variables=[]
|
|
41
|
+
const txtEnv = eta.render('./nuxt.env.eta', variables);
|
|
42
|
+
writeFileSync(`${targetfolder}/.env`, txtEnv);
|
|
43
|
+
const txtConfig = eta.render('./nuxt.config.eta', variables);
|
|
44
|
+
writeFileSync(`${targetfolder}/nuxt.config.ts`, txtConfig);
|
|
45
|
+
const txtPlugins = eta.render('./nuxt.plugins.eta', variables);
|
|
46
|
+
writeFileSync(`${targetfolder}/plugins/simpleapp.ts`, txtPlugins);
|
|
47
|
+
log.info("nuxt project completed")
|
|
48
|
+
callback()
|
|
49
|
+
})
|
|
50
|
+
}else{
|
|
51
|
+
throw error
|
|
52
|
+
}
|
|
53
|
+
})
|
|
53
54
|
|
|
54
|
-
})
|
|
55
|
-
if(error){
|
|
56
|
-
log.error(stderr)
|
|
57
|
-
throw error
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
})
|
|
61
|
-
})
|
|
62
55
|
}
|
|
63
56
|
|
|
64
57
|
export const createNest= (targetfolder:string,callback)=>{
|
|
65
|
-
|
|
66
|
-
exec(`nest new -p pnpm ${targetfolder}`,(error, stdout, stderr)=>{
|
|
67
|
-
if(error)throw stderr
|
|
58
|
+
// checkNestCli(()=>{
|
|
68
59
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
})
|
|
88
|
-
//
|
|
89
|
-
})
|
|
60
|
+
log.info(`creating backend project ${targetfolder}`)
|
|
61
|
+
exec(`cd ${targetfolder};pnpm install --save @nestjs/swagger @nestjs/mongoose mongoose ajv ajv-formats @nestjs/config`,async (error, stdout, stderr)=>{
|
|
62
|
+
// log.info(`dependency installed`)
|
|
63
|
+
if(!error){
|
|
64
|
+
exec(`pnpm install ajv ajv-formats axios json-schema`, (error, stdout, stderr)=>{
|
|
65
|
+
const eta = new Eta({views: constants.templatedir});
|
|
66
|
+
const variables=[]
|
|
67
|
+
const txtEnv = eta.render('./nest.env.eta', variables);
|
|
68
|
+
const txtMain = eta.render('./nest.main.eta', variables);
|
|
69
|
+
writeFileSync(`${targetfolder}/.env`, txtEnv);
|
|
70
|
+
writeFileSync(`${targetfolder}/src/main.ts`, txtMain);
|
|
71
|
+
log.info("nest project completed")
|
|
72
|
+
callback()
|
|
73
|
+
})
|
|
74
|
+
} else{
|
|
75
|
+
log.error(stderr)
|
|
76
|
+
throw error
|
|
77
|
+
}
|
|
90
78
|
})
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
//create empty .env
|
|
95
|
-
//swap nestjs src/main.ts file
|
|
96
|
-
//try edit the configuration files
|
|
97
|
-
//console log http server how to start
|
|
79
|
+
//
|
|
80
|
+
// })
|
|
81
|
+
|
|
98
82
|
}
|
package/src/generate.ts
CHANGED
|
@@ -48,9 +48,9 @@ let activatemodules:ModuleObject[]=[]
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
}
|
|
51
|
-
log.info("Activated backend modules: ")
|
|
51
|
+
log.info("Activated backend modules: ",activatemodules)
|
|
52
52
|
// log.info(activatemodules)
|
|
53
|
-
|
|
53
|
+
loadSimpleAppModules(activatemodules,backendfolder)
|
|
54
54
|
return Promise.resolve(true)
|
|
55
55
|
}
|
|
56
56
|
|
package/src/index.ts
CHANGED
|
@@ -14,7 +14,7 @@ const figlet = require("figlet");
|
|
|
14
14
|
// const program = new Command();
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
let version='1.0.
|
|
17
|
+
let version='1.0.8'
|
|
18
18
|
program
|
|
19
19
|
.version(version)
|
|
20
20
|
.description("An simpleapp CLI tool for generate frontend (vuejs) and backend(nestjs) codes")
|
|
@@ -38,22 +38,31 @@ const openapi3Yaml:string = configs.openapi3Yaml ?? options.openapi3Yaml
|
|
|
38
38
|
|
|
39
39
|
const runGenNext = (callback)=>{
|
|
40
40
|
if(!fs.existsSync(backendFolder)){
|
|
41
|
+
console.error(`${backendFolder} does not exists, please run "nest new -p pnpm ${backendFolder}"`)
|
|
42
|
+
}else if(!fs.existsSync(`${backendFolder}/.env`)){
|
|
43
|
+
console.log(`initial nest configuratoin for simpleapp generator`)
|
|
41
44
|
createNest(backendFolder,callback)
|
|
42
45
|
}else{
|
|
46
|
+
console.log(`.env file exists, skip nest initialization`)
|
|
43
47
|
callback()
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
50
|
const runGenNuxt = (callback)=>{
|
|
47
51
|
if(!fs.existsSync(frontendFolder)){
|
|
52
|
+
console.error(`${frontendFolder} does not exists, please run "npx nuxi@latest init ${frontendFolder}"`)
|
|
53
|
+
}else if(!fs.existsSync(`${frontendFolder}/.env`)){
|
|
54
|
+
console.log(`initial nuxt configuratoin for simpleapp generator`)
|
|
48
55
|
createNuxt(frontendFolder,callback)
|
|
49
56
|
}else{
|
|
57
|
+
console.log(`.env file exists, skip nuxt initialization`)
|
|
50
58
|
callback()
|
|
59
|
+
|
|
51
60
|
}
|
|
52
61
|
}
|
|
53
|
-
|
|
54
|
-
console.log("
|
|
55
|
-
|
|
56
|
-
console.log("
|
|
62
|
+
runGenNext(()=>{
|
|
63
|
+
console.log("runGenNext (backen) done")
|
|
64
|
+
// runGenNuxt(()=>{
|
|
65
|
+
console.log("runGenNuxt (frontend) done")
|
|
57
66
|
generator.initialize(definationsFolder,backendFolder,frontendFolder)
|
|
58
67
|
if(openapi3Yaml !=''){
|
|
59
68
|
|
|
@@ -45,6 +45,13 @@ const processObject = (doctype: string,
|
|
|
45
45
|
//ensure some field exists, also override it
|
|
46
46
|
jsondata.properties['_id'] = {type: 'string',description: 'Control value, dont edit it',};
|
|
47
47
|
jsondata.properties['doctype'] = {type: 'string', default:doctype, examples: [doctype],description: 'Control value, dont edit it',};
|
|
48
|
+
jsondata.properties['tenant_id'] = {type: 'number',description: 'Control value, dont edit it',};
|
|
49
|
+
jsondata.properties['organization_id'] = {type: 'number',description: 'Control value, dont edit it',};
|
|
50
|
+
jsondata.properties['branch_id'] = {type: 'number',description: 'Control value, dont edit it',};
|
|
51
|
+
jsondata.properties['created'] = {type: 'string',description: 'Control value, dont edit it',};
|
|
52
|
+
jsondata.properties['updated'] = {type: 'string',description: 'Control value, dont edit it',};
|
|
53
|
+
jsondata.properties['createdby'] = {type: 'string',description: 'Control value, dont edit it',};
|
|
54
|
+
jsondata.properties['updatedby'] = {type: 'string',description: 'Control value, dont edit it',};
|
|
48
55
|
return genSchema(
|
|
49
56
|
capitalizeFirstLetter(docname),
|
|
50
57
|
'object',
|
|
@@ -56,12 +63,12 @@ const processObject = (doctype: string,
|
|
|
56
63
|
const genSchema = (
|
|
57
64
|
docname: string,
|
|
58
65
|
schematype: string,
|
|
59
|
-
jsondata: JsonSchemaProperties
|
|
66
|
+
jsondata: JsonSchemaProperties,//JSONSchema7,//|JsonSchemaProperties|JSONSchema7Definition,
|
|
60
67
|
requiredlist: string[] | undefined,
|
|
61
68
|
): SchemaModel => {
|
|
62
69
|
const newmodel: SchemaModel = {};
|
|
63
|
-
const props = Object.getOwnPropertyNames(jsondata);
|
|
64
|
-
// console.log('====
|
|
70
|
+
const props = Object.getOwnPropertyNames(jsondata ??{});
|
|
71
|
+
// console.log('==== jsondata', jsondata);
|
|
65
72
|
|
|
66
73
|
for (let i = 0; i < props.length; i++) {
|
|
67
74
|
const key = props[i];
|
|
@@ -94,7 +101,7 @@ const genSchema = (
|
|
|
94
101
|
newmodel[key] = [objecttype];
|
|
95
102
|
} else {
|
|
96
103
|
newmodel[key] = getField(key, obj, isrequired);
|
|
97
|
-
// console.log('--------newmodel', newmodel[key]);
|
|
104
|
+
// console.log(key,'--------newmodel',obj, newmodel[key]);
|
|
98
105
|
}
|
|
99
106
|
}
|
|
100
107
|
allmodels[docname] = { type: schematype, model: newmodel };
|
|
@@ -103,10 +110,12 @@ const genSchema = (
|
|
|
103
110
|
|
|
104
111
|
const getField = (
|
|
105
112
|
fieldname: string,
|
|
106
|
-
obj:
|
|
113
|
+
obj: JSONSchema7,
|
|
107
114
|
isrequired: boolean | undefined,
|
|
108
115
|
): FieldModel => {
|
|
109
|
-
let datatype: Fieldtypes = Fieldtypes
|
|
116
|
+
let datatype: Fieldtypes = obj.type as Fieldtypes
|
|
117
|
+
// console.log(datatype)
|
|
118
|
+
//Fieldtypes.string;
|
|
110
119
|
let format = obj.format;
|
|
111
120
|
if (obj.type == 'integer') {
|
|
112
121
|
datatype = Fieldtypes.number;
|
|
@@ -122,7 +131,6 @@ const getField = (
|
|
|
122
131
|
if (obj.title) f.title = obj.title;
|
|
123
132
|
if (obj.description) f.description = obj.description;
|
|
124
133
|
if (obj.format) f.format = obj.format;
|
|
125
|
-
if (obj.example) f.example = obj.example;
|
|
126
134
|
if (obj.examples) f.examples = obj.examples;
|
|
127
135
|
if (obj.default) {
|
|
128
136
|
f.default = obj.default;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
4
|
* and regenerate this file.
|
|
5
5
|
*/
|
|
6
|
-
import { SimpleAppClient } from
|
|
6
|
+
import { SimpleAppClient } from "@simitgroup/simpleapp-vue-component/src/SimpleAppClient";
|
|
7
7
|
// import { JSONSchema7 } from 'json-schema';
|
|
8
8
|
import { Configuration,
|
|
9
9
|
<%= it.doctype.toUpperCase()%>Api,
|
|
@@ -20,7 +20,7 @@ export class <%= it.typename%>Doc extends SimpleAppClient<<%= it.typename%>,<%=
|
|
|
20
20
|
public readonly schema= <%~ JSON.stringify(it.jsonschema) %>;
|
|
21
21
|
|
|
22
22
|
constructor() {
|
|
23
|
-
const apiconfig = new Configuration({ basePath:
|
|
23
|
+
const apiconfig = new Configuration({ basePath: useRuntimeConfig().public.SIMPLEAPP_BACKEND_URL });
|
|
24
24
|
const apiobj = new <%= it.doctype.toUpperCase()%>Api(apiconfig)
|
|
25
25
|
super(apiobj)
|
|
26
26
|
|
|
@@ -31,8 +31,10 @@ export class <%= it.typename%>Doc extends SimpleAppClient<<%= it.typename%>,<%=
|
|
|
31
31
|
|
|
32
32
|
<%Object.keys(it.schema).forEach(function(key){%>
|
|
33
33
|
<%let field=it.schema[key]%>
|
|
34
|
-
<% if(
|
|
35
|
-
|
|
34
|
+
<% if(field.type=='boolean' ){%>
|
|
35
|
+
<%=key%> : <%=field.default%>,
|
|
36
|
+
<%} else if(typeof field=='string'){%>
|
|
37
|
+
<%=key%> : <<%= field %>>{},
|
|
36
38
|
<%} else if(field.type=='string'){%>
|
|
37
39
|
<%=key%> : '<%= field.default %>',
|
|
38
40
|
<%} else if(Array.isArray(field)) {%>
|
package/templates/nest.main.eta
CHANGED
|
@@ -1,9 +1,33 @@
|
|
|
1
|
-
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
2
1
|
export default defineNuxtConfig({
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
// colorMode: {} ,
|
|
3
|
+
runtimeConfig:{
|
|
5
4
|
public:{
|
|
6
|
-
|
|
5
|
+
SIMPLEAPP_BACKEND_URL: process.env.SIMPLEAPP_BACKEND_URL,
|
|
7
6
|
}
|
|
8
7
|
},
|
|
8
|
+
vite: {
|
|
9
|
+
vue: {
|
|
10
|
+
script: {
|
|
11
|
+
defineModel: true,
|
|
12
|
+
propsDestructure: true
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
modules: [
|
|
17
|
+
// '@nuxtjs/tailwindcss',
|
|
18
|
+
// '@nuxtjs/color-mode'
|
|
19
|
+
|
|
20
|
+
],
|
|
21
|
+
ssr: false,
|
|
22
|
+
css: [
|
|
23
|
+
// "assets/css/index.css",
|
|
24
|
+
"primevue/resources/themes/lara-light-blue/theme.css",
|
|
25
|
+
'primeicons/primeicons.css'
|
|
26
|
+
],
|
|
27
|
+
devtools: { enabled: true },
|
|
28
|
+
build: {
|
|
29
|
+
transpile: ["primevue"]
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
|
|
9
33
|
})
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
|
|
2
|
+
import { defineNuxtPlugin } from "#app";
|
|
3
|
+
import PrimeVue from "primevue/config";
|
|
4
|
+
import SimpleAppAutocomplete from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppAutocomplete.vue'
|
|
5
|
+
import SimpleAppAutocompletemulti from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppAutocompletemulti.vue'
|
|
6
|
+
import SimpleAppCalendar from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppCalendar.vue'
|
|
7
|
+
import SimpleAppCheckbox from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppCheckbox.vue'
|
|
8
|
+
import SimpleAppChip from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppChip.vue'
|
|
9
|
+
import SimpleAppColor from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppColor.vue'
|
|
10
|
+
import SimpleAppEditor from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppEditor.vue'
|
|
11
|
+
import SimpleAppForm from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppForm.vue'
|
|
12
|
+
import SimpleAppList from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppList.vue'
|
|
13
|
+
import SimpleAppListmulti from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppListmulti.vue'
|
|
14
|
+
import SimpleAppNumber from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppNumber.vue'
|
|
15
|
+
import SimpleAppPassword from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppPassword.vue'
|
|
16
|
+
import SimpleAppRadio from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppRadio.vue'
|
|
17
|
+
import SimpleAppRating from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppRating.vue'
|
|
18
|
+
import SimpleAppSelect from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppSelect.vue'
|
|
19
|
+
import SimpleAppSelectmulti from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppSelectmulti.vue'
|
|
20
|
+
import SimpleAppSlider from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppSlider.vue'
|
|
21
|
+
import SimpleAppSwitch from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppSwitch.vue'
|
|
22
|
+
import SimpleAppText from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppText.vue'
|
|
23
|
+
import SimpleAppTextarea from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppTextarea.vue'
|
|
24
|
+
import SimpleAppValue from '@simitgroup/simpleapp-vue-component/src/components/SimpleAppValue.vue'
|
|
25
|
+
import SimpleFieldContainer from '@simitgroup/simpleapp-vue-component/src/components/SimpleFieldContainer.vue'
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
export default defineNuxtPlugin((nuxtApp) => {
|
|
32
|
+
nuxtApp.vueApp.use(PrimeVue, { ripple: true });
|
|
33
|
+
nuxtApp.vueApp
|
|
34
|
+
.component("SimpleAppAutocomplete",SimpleAppAutocomplete)
|
|
35
|
+
.component("SimpleAppAutocompletemulti",SimpleAppAutocompletemulti)
|
|
36
|
+
.component("SimpleAppCalendar",SimpleAppCalendar)
|
|
37
|
+
.component("SimpleAppCheckbox",SimpleAppCheckbox)
|
|
38
|
+
.component("SimpleAppChip",SimpleAppChip)
|
|
39
|
+
.component("SimpleAppColor",SimpleAppColor)
|
|
40
|
+
.component("SimpleAppEditor",SimpleAppEditor)
|
|
41
|
+
.component("SimpleAppForm",SimpleAppForm)
|
|
42
|
+
.component("SimpleAppList",SimpleAppList)
|
|
43
|
+
.component("SimpleAppListmulti",SimpleAppListmulti)
|
|
44
|
+
.component("SimpleAppNumber",SimpleAppNumber)
|
|
45
|
+
.component("SimpleAppPassword",SimpleAppPassword)
|
|
46
|
+
.component("SimpleAppRadio",SimpleAppRadio)
|
|
47
|
+
.component("SimpleAppRating",SimpleAppRating)
|
|
48
|
+
.component("SimpleAppSelect",SimpleAppSelect)
|
|
49
|
+
.component("SimpleAppSelectmulti",SimpleAppSelectmulti)
|
|
50
|
+
.component("SimpleAppSlider",SimpleAppSlider)
|
|
51
|
+
.component("SimpleAppSwitch",SimpleAppSwitch)
|
|
52
|
+
.component("SimpleAppText",SimpleAppText)
|
|
53
|
+
.component("SimpleAppTextarea",SimpleAppTextarea)
|
|
54
|
+
.component("SimpleAppValue",SimpleAppValue)
|
|
55
|
+
.component("SimpleFieldContainer",SimpleFieldContainer)
|
|
56
|
+
;
|
|
57
|
+
//other components that you need
|
|
58
|
+
});
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"name": {
|
|
5
|
-
"type": "object",
|
|
6
|
-
"properties": {
|
|
7
|
-
"firstName": {
|
|
8
|
-
"type": "string",
|
|
9
|
-
"examples": [
|
|
10
|
-
"John"
|
|
11
|
-
]
|
|
12
|
-
},
|
|
13
|
-
"lastName": {
|
|
14
|
-
"type": "string",
|
|
15
|
-
"examples": [
|
|
16
|
-
"Fox"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"age": {
|
|
22
|
-
"type": "integer",
|
|
23
|
-
"examples": [
|
|
24
|
-
20
|
|
25
|
-
]
|
|
26
|
-
},
|
|
27
|
-
"email": {
|
|
28
|
-
"type": "string",
|
|
29
|
-
"examples": [
|
|
30
|
-
"john@example.com"
|
|
31
|
-
],
|
|
32
|
-
"format": "email"
|
|
33
|
-
},
|
|
34
|
-
"dob": {
|
|
35
|
-
"type": "string",
|
|
36
|
-
"examples": [
|
|
37
|
-
"2000-01-01"
|
|
38
|
-
],
|
|
39
|
-
"format": "date"
|
|
40
|
-
},
|
|
41
|
-
"hobbies": {
|
|
42
|
-
"type": "array",
|
|
43
|
-
"items": {
|
|
44
|
-
"type": "string",
|
|
45
|
-
"examples": [
|
|
46
|
-
"badminton",
|
|
47
|
-
"dota",
|
|
48
|
-
"reading"
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
"addresses": {
|
|
53
|
-
"type": "array",
|
|
54
|
-
"items": {
|
|
55
|
-
"type": "object",
|
|
56
|
-
"required": [
|
|
57
|
-
"street1",
|
|
58
|
-
"street2",
|
|
59
|
-
"postcode"
|
|
60
|
-
],
|
|
61
|
-
"properties": {
|
|
62
|
-
"street1": {
|
|
63
|
-
"type": "string",
|
|
64
|
-
"examples": [
|
|
65
|
-
"11, Fox Road"
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
"street2": {
|
|
69
|
-
"type": "string",
|
|
70
|
-
"examples": [
|
|
71
|
-
"My Home Town"
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
|
-
"postcode": {
|
|
75
|
-
"type": "integer",
|
|
76
|
-
"examples": [
|
|
77
|
-
12345
|
|
78
|
-
]
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"name": {
|
|
5
|
-
"type": "object",
|
|
6
|
-
"properties": {
|
|
7
|
-
"firstName": {
|
|
8
|
-
"type": "string",
|
|
9
|
-
"examples": [
|
|
10
|
-
"John"
|
|
11
|
-
]
|
|
12
|
-
},
|
|
13
|
-
"lastName": {
|
|
14
|
-
"type": "string",
|
|
15
|
-
"examples": [
|
|
16
|
-
"Fox"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"age": {
|
|
22
|
-
"type": "integer",
|
|
23
|
-
"examples": [
|
|
24
|
-
20
|
|
25
|
-
]
|
|
26
|
-
},
|
|
27
|
-
"email": {
|
|
28
|
-
"type": "string",
|
|
29
|
-
"examples": [
|
|
30
|
-
"john@example.com"
|
|
31
|
-
],
|
|
32
|
-
"format": "email"
|
|
33
|
-
},
|
|
34
|
-
"dob": {
|
|
35
|
-
"type": "string",
|
|
36
|
-
"examples": [
|
|
37
|
-
"2000-01-01"
|
|
38
|
-
],
|
|
39
|
-
"format": "date"
|
|
40
|
-
},
|
|
41
|
-
"hobbies": {
|
|
42
|
-
"type": "array",
|
|
43
|
-
"items": {
|
|
44
|
-
"type": "string",
|
|
45
|
-
"examples": [
|
|
46
|
-
"badminton",
|
|
47
|
-
"dota",
|
|
48
|
-
"reading"
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
"addresses": {
|
|
53
|
-
"type": "array",
|
|
54
|
-
"items": {
|
|
55
|
-
"type": "object",
|
|
56
|
-
"required": [
|
|
57
|
-
"street1",
|
|
58
|
-
"street2",
|
|
59
|
-
"postcode"
|
|
60
|
-
],
|
|
61
|
-
"properties": {
|
|
62
|
-
"street1": {
|
|
63
|
-
"type": "string",
|
|
64
|
-
"examples": [
|
|
65
|
-
"11, Fox Road"
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
"street2": {
|
|
69
|
-
"type": "string",
|
|
70
|
-
"examples": [
|
|
71
|
-
"My Home Town"
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
|
-
"postcode": {
|
|
75
|
-
"type": "integer",
|
|
76
|
-
"examples": [
|
|
77
|
-
12345
|
|
78
|
-
]
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|