@lenne.tech/cli 0.0.94 → 0.0.96
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/build/commands/tools/crypt.js +48 -0
- package/build/commands/tools/regex.js +2 -2
- package/build/commands/tools/sha256.js +37 -0
- package/build/templates/nest-server-module/template.resolver.ts.ejs +1 -1
- package/build/templates/nest-server-module/template.service.ts.ejs +1 -1
- package/package.json +13 -11
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const js_sha256_1 = require("js-sha256");
|
|
13
|
+
const bcrypt = require("bcrypt");
|
|
14
|
+
/**
|
|
15
|
+
* Open regex tools in browser
|
|
16
|
+
*/
|
|
17
|
+
const NewCommand = {
|
|
18
|
+
name: 'crypt',
|
|
19
|
+
alias: ['c', 'p', 'bcrypt', 'password'],
|
|
20
|
+
description: 'Generate a password hash with bcrypt as in nest-server',
|
|
21
|
+
hidden: false,
|
|
22
|
+
run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
+
const { helper, print: { info, error }, parameters, } = toolbox;
|
|
24
|
+
let password = yield helper.getInput(parameters.first, {
|
|
25
|
+
name: 'password to crypt',
|
|
26
|
+
showError: false,
|
|
27
|
+
});
|
|
28
|
+
if (!password) {
|
|
29
|
+
error('No password provided');
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// Check if the password was transmitted encrypted
|
|
33
|
+
// If not, the password is encrypted to enable future encrypted and unencrypted transmissions
|
|
34
|
+
if (!/^[a-f0-9]{64}$/i.test(password)) {
|
|
35
|
+
password = (0, js_sha256_1.sha256)(password);
|
|
36
|
+
}
|
|
37
|
+
// Hash password
|
|
38
|
+
password = yield bcrypt.hash(password, 10);
|
|
39
|
+
info(password);
|
|
40
|
+
if (!toolbox.parameters.options.fromGluegunMenu) {
|
|
41
|
+
process.exit();
|
|
42
|
+
}
|
|
43
|
+
// For tests
|
|
44
|
+
return `crypt`;
|
|
45
|
+
}),
|
|
46
|
+
};
|
|
47
|
+
exports.default = NewCommand;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdG9vbHMvY3J5cHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQSx5Q0FBbUM7QUFFbkMsaUNBQWtDO0FBRWxDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEdBQW1CO0lBQ2pDLElBQUksRUFBRSxPQUFPO0lBQ2IsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDO0lBQ3ZDLFdBQVcsRUFBRSx3REFBd0Q7SUFDckUsTUFBTSxFQUFFLEtBQUs7SUFDYixHQUFHLEVBQUUsQ0FBTyxPQUErQixFQUFFLEVBQUU7UUFDN0MsTUFBTSxFQUNKLE1BQU0sRUFDTixLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQ3RCLFVBQVUsR0FDWCxHQUFHLE9BQU8sQ0FBQztRQUVaLElBQUksUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQ3JELElBQUksRUFBRSxtQkFBbUI7WUFDekIsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzlCLE9BQU87U0FDUjtRQUVELGtEQUFrRDtRQUNsRCw2RkFBNkY7UUFDN0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQyxRQUFRLEdBQUcsSUFBQSxrQkFBTSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsZ0JBQWdCO1FBQ2hCLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDL0MsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2hCO1FBRUQsWUFBWTtRQUNaLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUMsQ0FBQTtDQUNGLENBQUM7QUFFRixrQkFBZSxVQUFVLENBQUMifQ==
|
|
@@ -15,7 +15,7 @@ const open = require("open");
|
|
|
15
15
|
*/
|
|
16
16
|
const NewCommand = {
|
|
17
17
|
name: 'regex',
|
|
18
|
-
alias: [],
|
|
18
|
+
alias: ['r'],
|
|
19
19
|
description: 'Open regex tools in browser',
|
|
20
20
|
hidden: false,
|
|
21
21
|
run: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -26,4 +26,4 @@ const NewCommand = {
|
|
|
26
26
|
}),
|
|
27
27
|
};
|
|
28
28
|
exports.default = NewCommand;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdG9vbHMvcmVnZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQSw2QkFBNkI7QUFFN0I7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBbUI7SUFDakMsSUFBSSxFQUFFLE9BQU87SUFDYixLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDWixXQUFXLEVBQUUsNkJBQTZCO0lBQzFDLE1BQU0sRUFBRSxLQUFLO0lBQ2IsR0FBRyxFQUFFLEdBQVMsRUFBRTtRQUNkLFlBQVk7UUFDWixNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRW5DLFlBQVk7UUFDWixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDLENBQUE7Q0FDRixDQUFDO0FBRUYsa0JBQWUsVUFBVSxDQUFDIn0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const js_sha256_1 = require("js-sha256");
|
|
13
|
+
/**
|
|
14
|
+
* Open regex tools in browser
|
|
15
|
+
*/
|
|
16
|
+
const NewCommand = {
|
|
17
|
+
name: 'sha256',
|
|
18
|
+
alias: ['h', 'hash'],
|
|
19
|
+
description: 'Hash a string with sha256',
|
|
20
|
+
hidden: false,
|
|
21
|
+
run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
const { helper, print: { info }, parameters, } = toolbox;
|
|
23
|
+
const input = yield helper.getInput(parameters.first, {
|
|
24
|
+
name: 'string to hash',
|
|
25
|
+
showError: false,
|
|
26
|
+
});
|
|
27
|
+
const hashResult = yield (0, js_sha256_1.sha256)(input);
|
|
28
|
+
info(hashResult);
|
|
29
|
+
if (!toolbox.parameters.options.fromGluegunMenu) {
|
|
30
|
+
process.exit();
|
|
31
|
+
}
|
|
32
|
+
// For tests
|
|
33
|
+
return `sha256`;
|
|
34
|
+
}),
|
|
35
|
+
};
|
|
36
|
+
exports.default = NewCommand;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhMjU2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3Rvb2xzL3NoYTI1Ni50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUVBLHlDQUFtQztBQUVuQzs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFtQjtJQUNqQyxJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFDcEIsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxNQUFNLEVBQUUsS0FBSztJQUNiLEdBQUcsRUFBRSxDQUFPLE9BQStCLEVBQUUsRUFBRTtRQUM3QyxNQUFNLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUNmLFVBQVUsR0FDWCxHQUFHLE9BQU8sQ0FBQztRQUVaLE1BQU0sS0FBSyxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQ3BELElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLGtCQUFNLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDL0MsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2hCO1FBRUQsWUFBWTtRQUNaLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQTtDQUNGLENBQUM7QUFFRixrQkFBZSxVQUFVLENBQUMifQ==
|
|
@@ -114,7 +114,7 @@ export class <%= props.namePascal %>Resolver {
|
|
|
114
114
|
@Args('input') input: <%= props.namePascal %>Input
|
|
115
115
|
): Promise<<%= props.namePascal %>> {
|
|
116
116
|
return await this.<%= props.nameCamel %>Service.update(id, input, {
|
|
117
|
-
serviceOptions,
|
|
117
|
+
...serviceOptions,
|
|
118
118
|
inputType: <%= props.namePascal %>Input,
|
|
119
119
|
roles: [RoleEnum.ADMIN, RoleEnum.S_CREATOR]
|
|
120
120
|
});
|
|
@@ -61,7 +61,7 @@ export class <%= props.namePascal %>Service extends CrudService<<%= props.namePa
|
|
|
61
61
|
* Example method
|
|
62
62
|
* Extends the CrudService
|
|
63
63
|
*/
|
|
64
|
-
async
|
|
64
|
+
async exampleMethod(id: string, input: Record<string, any>, serviceOptions?: ServiceOptions): Promise<<%= props.namePascal %>> {
|
|
65
65
|
|
|
66
66
|
// Get and check <%= props.namePascal %>
|
|
67
67
|
const <%= props.nameCamel %> = await this.mainDbModel.findById(id).exec();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lenne.tech/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.96",
|
|
4
4
|
"description": "lenne.Tech CLI: lt",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lenne.Tech",
|
|
@@ -50,28 +50,30 @@
|
|
|
50
50
|
],
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@lenne.tech/cli-plugin-helper": "0.0.11",
|
|
53
|
+
"bcrypt": "5.1.1",
|
|
53
54
|
"find-file-up": "2.0.1",
|
|
54
|
-
"gluegun": "5.1.
|
|
55
|
+
"gluegun": "5.1.6",
|
|
56
|
+
"js-sha256": "0.10.1",
|
|
55
57
|
"open": "8.4.2",
|
|
56
58
|
"standard-version": "9.5.0",
|
|
57
59
|
"ts-node": "10.9.1",
|
|
58
|
-
"typescript": "5.
|
|
60
|
+
"typescript": "5.2.2"
|
|
59
61
|
},
|
|
60
62
|
"devDependencies": {
|
|
61
63
|
"@lenne.tech/npm-package-helper": "0.0.12",
|
|
62
|
-
"@types/jest": "29.5.
|
|
63
|
-
"@types/node": "
|
|
64
|
-
"@typescript-eslint/eslint-plugin": "6.
|
|
65
|
-
"@typescript-eslint/parser": "6.
|
|
64
|
+
"@types/jest": "29.5.6",
|
|
65
|
+
"@types/node": "20.8.7",
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "6.8.0",
|
|
67
|
+
"@typescript-eslint/parser": "6.8.0",
|
|
66
68
|
"cpy-cli": "5.0.0",
|
|
67
|
-
"eslint": "8.
|
|
69
|
+
"eslint": "8.51.0",
|
|
68
70
|
"eslint-config-prettier": "9.0.0",
|
|
69
71
|
"husky": "8.0.3",
|
|
70
|
-
"jest": "29.
|
|
72
|
+
"jest": "29.7.0",
|
|
71
73
|
"path-exists-cli": "2.0.0",
|
|
72
|
-
"prettier": "3.0.
|
|
74
|
+
"prettier": "3.0.3",
|
|
73
75
|
"pretty-quick": "3.1.3",
|
|
74
|
-
"rimraf": "5.0.
|
|
76
|
+
"rimraf": "5.0.5",
|
|
75
77
|
"ts-jest": "29.1.1"
|
|
76
78
|
},
|
|
77
79
|
"overrides": {
|