eser 4.0.16 → 4.0.18

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 (2) hide show
  1. package/eser.js +9 -6
  2. package/package.json +1 -1
package/eser.js CHANGED
@@ -7610,7 +7610,7 @@ var init_loader2 = __esm({
7610
7610
  });
7611
7611
 
7612
7612
  // pkg/@eser/codebase/package/writer.ts
7613
- var getPropertyByPath2, setPropertyByPath, formatJson, writeConfigFile, resolveTargetFiles, updateField, updateVersion;
7613
+ var getPropertyByPath2, isSafePropertyName, setPropertyByPath, formatJson, writeConfigFile, resolveTargetFiles, updateField, updateVersion;
7614
7614
  var init_writer = __esm({
7615
7615
  "pkg/@eser/codebase/package/writer.ts"() {
7616
7616
  init_mod2();
@@ -7627,12 +7627,15 @@ var init_writer = __esm({
7627
7627
  }
7628
7628
  return current;
7629
7629
  };
7630
+ isSafePropertyName = (name) => {
7631
+ return name !== "__proto__" && name !== "constructor" && name !== "prototype";
7632
+ };
7630
7633
  setPropertyByPath = (obj, path, value2) => {
7631
7634
  const parts = path.split(".");
7632
7635
  let current = obj;
7633
7636
  for (let i = 0; i < parts.length - 1; i++) {
7634
7637
  const part = parts[i];
7635
- if (part === void 0) {
7638
+ if (part === void 0 || !isSafePropertyName(part)) {
7636
7639
  continue;
7637
7640
  }
7638
7641
  if (!(part in current) || typeof current[part] !== "object" || current[part] === null) {
@@ -7641,7 +7644,7 @@ var init_writer = __esm({
7641
7644
  current = current[part];
7642
7645
  }
7643
7646
  const lastPart = parts[parts.length - 1];
7644
- if (lastPart !== void 0) {
7647
+ if (lastPart !== void 0 && isSafePropertyName(lastPart)) {
7645
7648
  current[lastPart] = value2;
7646
7649
  }
7647
7650
  };
@@ -9594,7 +9597,7 @@ var generate2 = (appName, tree) => {
9594
9597
 
9595
9598
  // pkg/@eser/shell/completions/generators/fish.ts
9596
9599
  var escapeFish = (str2) => {
9597
- return str2.replace(/'/g, "\\'");
9600
+ return str2.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
9598
9601
  };
9599
9602
  var generateFlagCompletions2 = (appName, flags, condition) => {
9600
9603
  let output = "";
@@ -11337,7 +11340,7 @@ var shouldIgnore = (relativePath, ignorePatterns) => {
11337
11340
  return true;
11338
11341
  }
11339
11342
  } else if (pattern.includes("*")) {
11340
- const regexPattern = pattern.replace(/\./g, "\\.").replace(/\*\*/g, ".*").replace(/\*/g, "[^/]*");
11343
+ const regexPattern = pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*\*/g, ".*").replace(/\*/g, "[^/]*");
11341
11344
  const regex = new RegExp(`^${regexPattern}$`);
11342
11345
  if (regex.test(relativePath)) {
11343
11346
  return true;
@@ -12225,7 +12228,7 @@ var systemCommand = new Command("system").description("Commands related with thi
12225
12228
  // pkg/@eser/cli/package.json
12226
12229
  var package_default = {
12227
12230
  name: "@eser/cli",
12228
- version: "4.0.16",
12231
+ version: "4.0.18",
12229
12232
  type: "module",
12230
12233
  exports: "./main.ts",
12231
12234
  bin: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eser",
3
- "version": "4.0.16",
3
+ "version": "4.0.18",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "eser": "./eser.js"