@contentstack/cli-utilities 1.6.1 → 1.6.2

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/lib/helpers.d.ts CHANGED
@@ -13,3 +13,7 @@ export declare const isManagementTokenValid: (stackAPIKey: any, managementToken:
13
13
  export declare const createDeveloperHubUrl: (developerHubBaseUrl: string) => string;
14
14
  export declare const validatePath: (input: string) => boolean;
15
15
  export declare const escapeRegExp: (str: string) => string;
16
+ export declare const sanitizePath: (str: string) => string;
17
+ export declare const validateUids: (uid: any) => boolean;
18
+ export declare const validateFileName: (fileName: any) => boolean;
19
+ export declare const validateRegex: (str: any) => import("recheck").Diagnostics;
package/lib/helpers.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.escapeRegExp = exports.validatePath = exports.createDeveloperHubUrl = exports.isManagementTokenValid = exports.doesBranchExist = exports.isAuthenticated = void 0;
3
+ exports.validateRegex = exports.validateFileName = exports.validateUids = exports.sanitizePath = exports.escapeRegExp = exports.validatePath = exports.createDeveloperHubUrl = exports.isManagementTokenValid = exports.doesBranchExist = exports.isAuthenticated = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const recheck_1 = require("recheck");
5
6
  const auth_handler_1 = tslib_1.__importDefault(require("./auth-handler"));
6
7
  const _1 = require(".");
7
8
  const isAuthenticated = () => auth_handler_1.default.isAuthenticated();
@@ -60,3 +61,15 @@ exports.validatePath = validatePath;
60
61
  // To escape special characters in a string
61
62
  const escapeRegExp = (str) => str === null || str === void 0 ? void 0 : str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
62
63
  exports.escapeRegExp = escapeRegExp;
64
+ // To remove the relative path
65
+ const sanitizePath = (str) => str === null || str === void 0 ? void 0 : str.replace(/^(\.\.(\/|\\|$))+/, '');
66
+ exports.sanitizePath = sanitizePath;
67
+ // To validate the UIDs of assets
68
+ const validateUids = (uid) => /^[a-zA-Z0-9]+$/.test(uid);
69
+ exports.validateUids = validateUids;
70
+ // Validate File name
71
+ const validateFileName = (fileName) => /^[a-zA-Z0-9-_\.]+$/.test(fileName);
72
+ exports.validateFileName = validateFileName;
73
+ // Validate Regex for ReDDos
74
+ const validateRegex = (str) => (0, recheck_1.checkSync)(str, "");
75
+ exports.validateRegex = validateRegex;
package/lib/logger.js CHANGED
@@ -17,7 +17,7 @@ class LoggerService {
17
17
  const logger = winston_1.default.createLogger({
18
18
  transports: [
19
19
  new winston_1.default.transports.File({
20
- filename: path_1.default.resolve(process.env.CS_CLI_LOG_PATH || `${pathToLog}/logs`, `${name}.log`),
20
+ filename: path_1.default.resolve((0, index_1.sanitizePath)(process.env.CS_CLI_LOG_PATH) || `${(0, index_1.sanitizePath)(pathToLog)}/logs`, `${(0, index_1.sanitizePath)(name)}.log`),
21
21
  }),
22
22
  ],
23
23
  format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.printf((info) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentstack/cli-utilities",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "description": "Utilities for contentstack projects",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -55,7 +55,8 @@
55
55
  "unique-string": "^2.0.0",
56
56
  "uuid": "^9.0.0",
57
57
  "winston": "^3.7.2",
58
- "xdg-basedir": "^4.0.0"
58
+ "xdg-basedir": "^4.0.0",
59
+ "recheck": "^4.4.5"
59
60
  },
60
61
  "devDependencies": {
61
62
  "@contentstack/cli-dev-dependencies": "^1.2.4",