@lilaquadrat/cli 0.9.1

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.
Files changed (53) hide show
  1. package/lib/functions/template.d.ts +9 -0
  2. package/lib/functions/template.js +62 -0
  3. package/lib/functions/template.js.map +1 -0
  4. package/lib/package.json +56 -0
  5. package/lib/src/config.d.ts +9 -0
  6. package/lib/src/config.js +54 -0
  7. package/lib/src/config.js.map +1 -0
  8. package/lib/src/config.prompt copy.d.ts +3 -0
  9. package/lib/src/config.prompt copy.js +64 -0
  10. package/lib/src/config.prompt copy.js.map +1 -0
  11. package/lib/src/config.prompt.d.ts +3 -0
  12. package/lib/src/config.prompt.js +29 -0
  13. package/lib/src/config.prompt.js.map +1 -0
  14. package/lib/src/create.prompt.d.ts +26 -0
  15. package/lib/src/create.prompt.js +48 -0
  16. package/lib/src/create.prompt.js.map +1 -0
  17. package/lib/src/definitions.d.ts +58 -0
  18. package/lib/src/definitions.js +99 -0
  19. package/lib/src/definitions.js.map +1 -0
  20. package/lib/src/index.d.ts +2 -0
  21. package/lib/src/index.js +112 -0
  22. package/lib/src/index.js.map +1 -0
  23. package/lib/src/login.d.ts +12 -0
  24. package/lib/src/login.js +202 -0
  25. package/lib/src/login.js.map +1 -0
  26. package/lib/src/logout.d.ts +2 -0
  27. package/lib/src/logout.js +13 -0
  28. package/lib/src/logout.js.map +1 -0
  29. package/lib/src/mode.prompt.d.ts +3 -0
  30. package/lib/src/mode.prompt.js +42 -0
  31. package/lib/src/mode.prompt.js.map +1 -0
  32. package/lib/src/publish.d.ts +2 -0
  33. package/lib/src/publish.js +91 -0
  34. package/lib/src/publish.js.map +1 -0
  35. package/lib/src/status.d.ts +2 -0
  36. package/lib/src/status.js +31 -0
  37. package/lib/src/status.js.map +1 -0
  38. package/lib/src/store.d.ts +6 -0
  39. package/lib/src/store.js +29 -0
  40. package/lib/src/store.js.map +1 -0
  41. package/lib/src/user.d.ts +11 -0
  42. package/lib/src/user.js +43 -0
  43. package/lib/src/user.js.map +1 -0
  44. package/package.json +56 -0
  45. package/source/apps/app.ts.hbs +10 -0
  46. package/source/apps/home.screen.vue.hbs +16 -0
  47. package/source/apps/routes.ts.hbs +15 -0
  48. package/source/moduleEditor/modules.html.hbs +27 -0
  49. package/source/moduleEditor/modules.ts.hbs +18 -0
  50. package/source/modules/modules.vue.hbs +21 -0
  51. package/source/partials/partials.vue.hbs +22 -0
  52. package/source/store/state.d.ts.hbs +6 -0
  53. package/source/store/store.ts.hbs +27 -0
@@ -0,0 +1,9 @@
1
+ declare const render: (variables: Record<string, string>, folder: string, file: string) => string;
2
+ declare const renderAll: (variables: Record<string, string>, definition: {
3
+ [key: string]: any;
4
+ }) => Record<string, any>[];
5
+ declare const create: (variables: Record<string, string>, definition: {
6
+ [key: string]: any;
7
+ }, baseFolder: string) => void;
8
+ export default render;
9
+ export { renderAll, create, };
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.create = exports.renderAll = void 0;
7
+ const handlebars_1 = __importDefault(require("handlebars"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const render = (variables, folder, file) => {
11
+ const template = handlebars_1.default.compile(fs_1.default.readFileSync(`${__dirname}/../../source/${folder}/${file}`).toString());
12
+ return template({
13
+ ...variables,
14
+ nameUppercase: `${variables.name?.slice(0, 1).toUpperCase()}${variables.name?.slice(1)}`,
15
+ nameCamelCase: variables.name.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (m, chr) => chr.toUpperCase()),
16
+ });
17
+ };
18
+ const renderAll = (variables, definition) => {
19
+ const rendered = [];
20
+ definition.files.forEach((file) => {
21
+ const filename = file.options?.noPreName ? file.extension : `${variables.name}.${file.extension}`;
22
+ rendered.push({
23
+ filedata: render(variables, definition.sourceFolder, file.template),
24
+ definition: file,
25
+ filename,
26
+ });
27
+ });
28
+ return rendered;
29
+ };
30
+ exports.renderAll = renderAll;
31
+ const create = (variables, definition, baseFolder) => {
32
+ const renderedFiles = renderAll(variables, definition);
33
+ if (definition.folders) {
34
+ definition.folders.forEach((single) => {
35
+ fs_1.default.mkdirSync(`${baseFolder}/${definition.targetFolder}/${variables.name}/${single}`, { recursive: true });
36
+ console.log(chalk_1.default.green(`created folder ${baseFolder}/${definition.targetFolder}/${variables.name}/${single}`));
37
+ });
38
+ }
39
+ renderedFiles.forEach((single) => {
40
+ const targetFolder = definition.options?.subfolder === false
41
+ ? `${baseFolder}/${definition.targetFolder}`
42
+ : `${baseFolder}/${definition.targetFolder}/${variables.name}`;
43
+ const targetFileArray = [baseFolder, definition.targetFolder];
44
+ if (single.definition.options?.subfolder)
45
+ targetFileArray.push(variables.name);
46
+ if (single.definition.target)
47
+ targetFileArray.push(single.definition.target);
48
+ targetFileArray.push(single.filename);
49
+ const targetFile = targetFileArray.join('/');
50
+ try {
51
+ fs_1.default.mkdirSync(targetFolder, { recursive: true });
52
+ fs_1.default.writeFileSync(targetFile, single.filedata);
53
+ console.log(chalk_1.default.green(`created file ${targetFile}`));
54
+ }
55
+ catch (error) {
56
+ console.error(error);
57
+ }
58
+ });
59
+ };
60
+ exports.create = create;
61
+ exports.default = render;
62
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../functions/template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@lilaquadrat/cli",
3
+ "version": "0.9.1",
4
+ "description": "CLI for studio app and studio renderer",
5
+ "license": "MIT",
6
+ "homepage": "https://lilaquadrat.de",
7
+ "author": {
8
+ "email": "m.schuebel@lila2.de",
9
+ "name": "Mathias Schübel",
10
+ "url": "https://lilaquadrat.de"
11
+ },
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "prepublish": "tsc",
15
+ "cli": "node lib/src/index.js"
16
+ },
17
+ "engines": {
18
+ "node": ">=14",
19
+ "yarn": ">=1.22"
20
+ },
21
+ "devDependencies": {
22
+ "@types/archiver": "^5.3.1",
23
+ "@types/inquirer": "^8.1.3",
24
+ "@types/node": "^17.0.8",
25
+ "@typescript-eslint/eslint-plugin": "^5.9.1",
26
+ "@typescript-eslint/parser": "^5.9.1",
27
+ "eslint": "^8.6.0",
28
+ "eslint-config-airbnb-base": "15.0.0",
29
+ "eslint-config-airbnb-typescript": "^16.1.0",
30
+ "eslint-import-resolver-typescript": "^2.5.0",
31
+ "eslint-plugin-import": "^2.25.4",
32
+ "eslint-plugin-promise": "^6.0.0"
33
+ },
34
+ "dependencies": {
35
+ "archiver": "^5.0.0",
36
+ "axios": "^0.24.0",
37
+ "chalk": "^4.1.2",
38
+ "clear": "^0.1.0",
39
+ "commander": "^8.3.0",
40
+ "filesize": "^8.0.6",
41
+ "form-data": "^4.0.0",
42
+ "handlebars": "^4.7.6",
43
+ "inquirer": "^8.2.0",
44
+ "open": "^8.4.0",
45
+ "typescript": "^4.5.4"
46
+ },
47
+ "files": [
48
+ "lib/**/*",
49
+ "source/**/*"
50
+ ],
51
+ "bin": {
52
+ "lila": "lib/src/index.js"
53
+ },
54
+ "exports": "./lib/src/index.js",
55
+ "types": "lib/src/index.d.ts"
56
+ }
@@ -0,0 +1,9 @@
1
+ declare const baseFolder: string;
2
+ declare const port = 1337;
3
+ export default baseFolder;
4
+ declare const config: (company: string, project: string) => void;
5
+ declare const setMode: (mode: Data['mode'], dev?: boolean, endpoints?: Data['endpoints']) => void;
6
+ declare const modeIsSet: () => boolean;
7
+ declare const getApi: () => string;
8
+ declare const getMedia: () => string;
9
+ export { port, baseFolder, config, setMode, getApi, getMedia, modeIsSet, };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.modeIsSet = exports.getMedia = exports.getApi = exports.setMode = exports.config = exports.baseFolder = exports.port = void 0;
7
+ const store_1 = __importDefault(require("./store"));
8
+ const baseFolder = process.cwd();
9
+ exports.baseFolder = baseFolder;
10
+ const port = 1337;
11
+ exports.port = port;
12
+ exports.default = baseFolder;
13
+ const config = (company, project) => {
14
+ const store = new store_1.default(`${process.cwd()}/.lila`);
15
+ store.set({ publish: { company, project } });
16
+ };
17
+ exports.config = config;
18
+ const setMode = (mode, dev, endpoints) => {
19
+ let newEndpoints;
20
+ if (mode === 'live') {
21
+ newEndpoints = {
22
+ api: 'https://api.lilaquadrat.de',
23
+ media: 'https://media.lilaquadrat.de',
24
+ };
25
+ }
26
+ if (mode === 'next') {
27
+ newEndpoints = {
28
+ api: 'https://next-api.lilaquadrat.de',
29
+ media: 'https://next-media.lilaquadrat.de',
30
+ };
31
+ }
32
+ if (mode === 'custom') {
33
+ newEndpoints = endpoints;
34
+ }
35
+ const store = new store_1.default(`${process.cwd()}/.lila`);
36
+ store.set({ endpoints: newEndpoints, dev, mode });
37
+ };
38
+ exports.setMode = setMode;
39
+ const modeIsSet = () => {
40
+ const store = new store_1.default(`${process.cwd()}/.lila`);
41
+ return !!store.get().mode;
42
+ };
43
+ exports.modeIsSet = modeIsSet;
44
+ const getApi = () => {
45
+ const store = new store_1.default(`${process.cwd()}/.lila`);
46
+ return store.get().endpoints.api;
47
+ };
48
+ exports.getApi = getApi;
49
+ const getMedia = () => {
50
+ const store = new store_1.default(`${process.cwd()}/.lila`);
51
+ return store.get().endpoints.media;
52
+ };
53
+ exports.getMedia = getMedia;
54
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAoE/B,gCAAU;AAnEZ,MAAM,IAAI,GAAG,IAAI,CAAC;AAkEhB,oBAAI;AAhEN,kBAAe,UAAU,CAAC;AAE1B,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE;IAElD,MAAM,KAAK,GAAG,IAAI,eAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAElD,KAAK,CAAC,GAAG,CAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AAErD,CAAC,CAAC;AA0DA,wBAAM;AAxDR,MAAM,OAAO,GAAG,CAAC,IAAkB,EAAE,GAAa,EAAE,SAA6B,EAAE,EAAE;IAEnF,IAAI,YAA+B,CAAC;IAEpC,IAAI,IAAI,KAAK,MAAM,EAAE;QAEnB,YAAY,GAAG;YACb,GAAG,EAAE,4BAA4B;YACjC,KAAK,EAAE,8BAA8B;SACtC,CAAC;KAEH;IAED,IAAI,IAAI,KAAK,MAAM,EAAE;QAEnB,YAAY,GAAG;YACb,GAAG,EAAE,iCAAiC;YACtC,KAAK,EAAE,mCAAmC;SAC3C,CAAC;KAEH;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE;QAErB,YAAY,GAAG,SAAS,CAAC;KAE1B;IAED,MAAM,KAAK,GAAG,IAAI,eAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClD,KAAK,CAAC,GAAG,CAAO,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAE1D,CAAC,CAAC;AA0BA,0BAAO;AAxBT,MAAM,SAAS,GAAG,GAAG,EAAE;IAErB,MAAM,KAAK,GAAG,IAAI,eAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;AAE5B,CAAC,CAAC;AAsBA,8BAAS;AApBX,MAAM,MAAM,GAAG,GAAG,EAAE;IAElB,MAAM,KAAK,GAAG,IAAI,eAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;AAEnC,CAAC,CAAC;AAaA,wBAAM;AAZR,MAAM,QAAQ,GAAG,GAAG,EAAE;IAEpB,MAAM,KAAK,GAAG,IAAI,eAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AAErC,CAAC,CAAC;AAQA,4BAAQ"}
@@ -0,0 +1,3 @@
1
+ import { ListQuestion, Question } from 'inquirer';
2
+ declare const data: (Question | ListQuestion)[];
3
+ export default data;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const login_1 = require("./login");
4
+ const user_1 = require("./user");
5
+ const data = [
6
+ {
7
+ type: 'list',
8
+ name: 'publishEndpoint',
9
+ message: 'Publish Endpoint',
10
+ choices: [
11
+ {
12
+ name: 'NEXT (https://next-media.lilaquadrat.de)',
13
+ value: 'https://next-media.lilaquadrat.de',
14
+ },
15
+ {
16
+ name: 'LIVE (https://media.lilaquadrat.de)',
17
+ value: 'https://media.lilaquadrat.de',
18
+ },
19
+ 'custom',
20
+ ],
21
+ },
22
+ {
23
+ type: 'input',
24
+ name: 'customEndpointPublish',
25
+ message: 'custom publish endpoint',
26
+ when: (answers) => answers.publishEndpoint === 'custom',
27
+ },
28
+ {
29
+ type: 'input',
30
+ name: 'customEndpointApi',
31
+ message: 'custom api endpoint',
32
+ when: (answers) => answers.publishEndpoint === 'custom',
33
+ },
34
+ {
35
+ type: 'list',
36
+ name: 'company',
37
+ message: 'Company',
38
+ choices: async (answers) => {
39
+ const permissions = await (0, user_1.getPermissions)(undefined, (0, login_1.token)());
40
+ return permissions.map((single) => {
41
+ return { name: single.company.name, value: single.company.id };
42
+ });
43
+ },
44
+ },
45
+ {
46
+ type: 'list',
47
+ name: 'project',
48
+ message: 'Project',
49
+ choices: async (answers) => {
50
+ const permissions = await (0, user_1.getPermissions)(answers.company, (0, login_1.token)());
51
+ return permissions.map((single) => {
52
+ return { name: single.project.name, value: single.project.id };
53
+ });
54
+ },
55
+ },
56
+ {
57
+ type: 'confirm',
58
+ name: 'dev',
59
+ message: 'Dev Mode',
60
+ default: false,
61
+ },
62
+ ];
63
+ exports.default = data;
64
+ //# sourceMappingURL=config.prompt%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.prompt copy.js","sourceRoot":"","sources":["../../src/config.prompt copy.ts"],"names":[],"mappings":";;AACA,mCAAgC;AAChC,iCAAwC;AAExC,MAAM,IAAI,GAAgC;IACxC;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,0CAA0C;gBAChD,KAAK,EAAE,mCAAmC;aAC3C;YACD;gBACE,IAAI,EAAE,qCAAqC;gBAC3C,KAAK,EAAE,8BAA8B;aACtC;YACD,QAAQ;SACT;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,KAAK,QAAQ;KACxD;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,KAAK,QAAQ;KACxD;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAEzB,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAc,EAAC,SAAS,EAAE,IAAA,aAAK,GAAE,CAAC,CAAC;YAC7D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAEjE,CAAC,CAAC,CAAC;QAGL,CAAC;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAEzB,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAc,EAAC,OAAO,CAAC,OAAO,EAAE,IAAA,aAAK,GAAE,CAAC,CAAC;YACnE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAEjE,CAAC,CAAC,CAAC;QAGL,CAAC;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,KAAK;KACf;CACF,CAAC;AACF,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ListQuestion, Question } from 'inquirer';
2
+ declare const data: (Question | ListQuestion)[];
3
+ export default data;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const user_1 = require("./user");
4
+ const data = [
5
+ {
6
+ type: 'list',
7
+ name: 'company',
8
+ message: 'Company',
9
+ choices: async (answers) => {
10
+ const permissions = await (0, user_1.getPermissions)();
11
+ return permissions.map((single) => {
12
+ return { name: single.company.name, value: single.company.id };
13
+ });
14
+ },
15
+ },
16
+ {
17
+ type: 'list',
18
+ name: 'project',
19
+ message: 'Project',
20
+ choices: async (answers) => {
21
+ const permissions = await (0, user_1.getPermissions)(answers.company);
22
+ return permissions.map((single) => {
23
+ return { name: single.project.name, value: single.project.id };
24
+ });
25
+ },
26
+ },
27
+ ];
28
+ exports.default = data;
29
+ //# sourceMappingURL=config.prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.prompt.js","sourceRoot":"","sources":["../../src/config.prompt.ts"],"names":[],"mappings":";;AACA,iCAAwC;AAExC,MAAM,IAAI,GAAgC;IACxC;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAEzB,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAc,GAAE,CAAC;YAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAEjE,CAAC,CAAC,CAAC;QAGL,CAAC;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAEzB,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAc,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAEjE,CAAC,CAAC,CAAC;QAGL,CAAC;KACF;CACF,CAAC;AACF,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,26 @@
1
+ declare const _default: ({
2
+ type: string;
3
+ name: string;
4
+ message: string;
5
+ choices: {
6
+ name: string;
7
+ value: string;
8
+ }[];
9
+ validate?: undefined;
10
+ default?: undefined;
11
+ } | {
12
+ type: string;
13
+ name: string;
14
+ message: string;
15
+ validate: (input: string, answers: any) => true | "name is needed" | "only the followed is allows a-z 0-9 - _" | "name already taken";
16
+ choices?: undefined;
17
+ default?: undefined;
18
+ } | {
19
+ type: string;
20
+ name: string;
21
+ message: string;
22
+ default: string;
23
+ choices?: undefined;
24
+ validate?: undefined;
25
+ })[];
26
+ export default _default;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const definitions_1 = __importDefault(require("./definitions"));
8
+ const config_1 = require("./config");
9
+ exports.default = [
10
+ {
11
+ type: 'list',
12
+ name: 'type',
13
+ message: 'What do we create?',
14
+ choices: [
15
+ { name: 'internal app', value: 'app' },
16
+ { name: 'module', value: 'modules' },
17
+ // { name: 'module editor', value: 'moduleEditor' },
18
+ { name: 'partial', value: 'partials' },
19
+ { name: 'vuex module', value: 'store' },
20
+ ],
21
+ },
22
+ {
23
+ type: 'input',
24
+ name: 'name',
25
+ message: 'Name',
26
+ validate: (input, answers) => {
27
+ if (!input.length)
28
+ return 'name is needed';
29
+ if (!input.match(/^[a-z0-9-_]{1,20}$/i))
30
+ return 'only the followed is allows a-z 0-9 - _';
31
+ let fileExists = false;
32
+ definitions_1.default[answers.type].files.map((file) => {
33
+ if (fileExists)
34
+ return false;
35
+ fileExists = fs_1.default.existsSync(`${config_1.baseFolder}/${definitions_1.default[answers.type].targetFolder}/${input}/${input}.${file.extension}`);
36
+ return fileExists;
37
+ });
38
+ return !fileExists || 'name already taken';
39
+ },
40
+ },
41
+ {
42
+ type: 'input',
43
+ name: 'publisher',
44
+ message: 'Publisher',
45
+ default: 'lilaquadrat',
46
+ },
47
+ ];
48
+ //# sourceMappingURL=create.prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.prompt.js","sourceRoot":"","sources":["../../src/create.prompt.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gEAAwC;AACxC,qCAAsC;AAEtC,kBAAe;IACb;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE;YACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;YACpC,oDAAoD;YACpD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;YACtC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE;SACxC;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC,KAAa,EAAE,OAAO,EAAE,EAAE;YAEnC,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO,gBAAgB,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC;gBAAE,OAAO,yCAAyC,CAAC;YAE1F,IAAI,UAAU,GAAY,KAAK,CAAC;YAEhC,qBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAE3C,IAAI,UAAU;oBAAE,OAAO,KAAK,CAAC;gBAE7B,UAAU,GAAG,YAAE,CAAC,UAAU,CAAC,GAAG,mBAAU,IAAI,qBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBAE1H,OAAO,UAAU,CAAC;YAEpB,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,UAAU,IAAI,oBAAoB,CAAC;QAE7C,CAAC;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,aAAa;KACvB;CACF,CAAC"}
@@ -0,0 +1,58 @@
1
+ declare const _default: {
2
+ app: {
3
+ targetFolder: string;
4
+ sourceFolder: string;
5
+ folders: string[];
6
+ files: ({
7
+ template: string;
8
+ extension: string;
9
+ options: {
10
+ noPreName: boolean;
11
+ subfolder: boolean;
12
+ };
13
+ target?: undefined;
14
+ } | {
15
+ template: string;
16
+ extension: string;
17
+ target: string;
18
+ options: {
19
+ noPreName: boolean;
20
+ subfolder: boolean;
21
+ };
22
+ })[];
23
+ };
24
+ partials: {
25
+ targetFolder: string;
26
+ sourceFolder: string;
27
+ options: {
28
+ subfolder: boolean;
29
+ };
30
+ files: {
31
+ template: string;
32
+ extension: string;
33
+ }[];
34
+ };
35
+ modules: {
36
+ targetFolder: string;
37
+ sourceFolder: string;
38
+ options: {
39
+ subfolder: boolean;
40
+ };
41
+ files: {
42
+ template: string;
43
+ extension: string;
44
+ }[];
45
+ };
46
+ store: {
47
+ targetFolder: string;
48
+ sourceFolder: string;
49
+ options: {
50
+ subfolder: boolean;
51
+ };
52
+ files: {
53
+ template: string;
54
+ extension: string;
55
+ }[];
56
+ };
57
+ };
58
+ export default _default;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ app: {
5
+ targetFolder: 'apps',
6
+ sourceFolder: 'apps',
7
+ folders: [
8
+ 'interfaces',
9
+ 'modules',
10
+ 'partials',
11
+ 'screens',
12
+ ],
13
+ files: [
14
+ {
15
+ template: 'app.ts.hbs',
16
+ extension: 'app.ts',
17
+ options: {
18
+ noPreName: true,
19
+ subfolder: true,
20
+ },
21
+ },
22
+ {
23
+ template: 'home.screen.vue.hbs',
24
+ extension: 'home.screen.vue',
25
+ target: 'screens',
26
+ options: {
27
+ noPreName: true,
28
+ subfolder: true,
29
+ },
30
+ },
31
+ {
32
+ template: 'routes.ts.hbs',
33
+ extension: 'routes.ts',
34
+ options: {
35
+ noPreName: true,
36
+ subfolder: true,
37
+ },
38
+ },
39
+ ],
40
+ },
41
+ partials: {
42
+ targetFolder: 'partials',
43
+ sourceFolder: 'partials',
44
+ options: {
45
+ subfolder: false,
46
+ },
47
+ files: [
48
+ {
49
+ template: 'partials.vue.hbs',
50
+ extension: 'partial.vue',
51
+ },
52
+ ],
53
+ },
54
+ modules: {
55
+ targetFolder: 'modules',
56
+ sourceFolder: 'modules',
57
+ options: {
58
+ subfolder: false,
59
+ },
60
+ files: [
61
+ {
62
+ template: 'modules.vue.hbs',
63
+ extension: 'module.vue',
64
+ },
65
+ ],
66
+ },
67
+ // moduleEditor: {
68
+ // targetFolder: 'modules',
69
+ // sourceFolder: 'moduleEditor',
70
+ // files: [
71
+ // {
72
+ // template: 'modules.html.hbs',
73
+ // extension: 'module.editor.html',
74
+ // },
75
+ // {
76
+ // template: 'modules.ts.hbs',
77
+ // extension: 'module.editor.ts',
78
+ // },
79
+ // ],
80
+ // },
81
+ store: {
82
+ targetFolder: 'store',
83
+ sourceFolder: 'store',
84
+ options: {
85
+ subfolder: false,
86
+ },
87
+ files: [
88
+ {
89
+ template: 'state.d.ts.hbs',
90
+ extension: 'interface.ts',
91
+ },
92
+ {
93
+ template: 'store.ts.hbs',
94
+ extension: 'store.ts',
95
+ },
96
+ ],
97
+ },
98
+ };
99
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,GAAG,EAAE;QACH,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE;YACP,YAAY;YACZ,SAAS;YACT,UAAU;YACV,SAAS;SACV;QACD,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;YACD;gBACE,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;YACD;gBACE,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE;oBACP,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF;SACF;KACF;IACD,QAAQ,EAAE;QACR,YAAY,EAAE,UAAU;QACxB,YAAY,EAAE,UAAU;QACxB,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;SACjB;QACD,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,aAAa;aACzB;SACF;KACF;IACD,OAAO,EAAE;QACP,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;SACjB;QACD,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,YAAY;aACxB;SACF;KACF;IACD,kBAAkB;IAClB,6BAA6B;IAC7B,kCAAkC;IAClC,aAAa;IACb,QAAQ;IACR,sCAAsC;IACtC,yCAAyC;IACzC,SAAS;IACT,QAAQ;IACR,oCAAoC;IACpC,uCAAuC;IACvC,SAAS;IACT,OAAO;IACP,KAAK;IACL,KAAK,EAAE;QACL,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;SACjB;QACD,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,cAAc;aAC1B;YACD;gBACE,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,UAAU;aACtB;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};