draftify-cli 1.0.11 → 1.0.13

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/dist/index.js CHANGED
@@ -44,8 +44,25 @@ async function checkVersion() {
44
44
  try {
45
45
  const latestVersion = JSON.parse(data).version;
46
46
  const currentVersion = require("../package.json").version;
47
- // Semver comparison: strict inequality since we just want to block older versions
47
+ // Semver comparison: we only want to block older versions
48
+ let isOlder = false;
48
49
  if (latestVersion && currentVersion && latestVersion !== currentVersion) {
50
+ // Simple numeric split comparison for semver
51
+ const latestParts = latestVersion.split('.').map(Number);
52
+ const currentParts = currentVersion.split('.').map(Number);
53
+ for (let i = 0; i < Math.max(latestParts.length, currentParts.length); i++) {
54
+ const l = latestParts[i] || 0;
55
+ const c = currentParts[i] || 0;
56
+ if (l > c) {
57
+ isOlder = true;
58
+ break;
59
+ }
60
+ if (l < c) {
61
+ break;
62
+ }
63
+ }
64
+ }
65
+ if (isOlder) {
49
66
  console.error(`\n\x1b[31m[!] Elavult verziót használsz: ${currentVersion}\x1b[0m`);
50
67
  console.error(`\x1b[33mKérlek frissítsd a legújabbra (${latestVersion}) a folytatáshoz:\x1b[0m`);
51
68
  console.error(`\n \x1b[36mnpm install -g draftify-cli@latest\x1b[0m\n`);
package/dist/repl.js CHANGED
@@ -662,18 +662,27 @@ async function startRepl(initialUsername) {
662
662
  search = search.replace(/\r\n/g, '\n');
663
663
  replace = replace.replace(/\r\n/g, '\n');
664
664
  if (normalizedFile.includes(search)) {
665
- fileContent = normalizedFile.replace(search, replace);
665
+ fileContent = normalizedFile.replace(search, () => replace);
666
666
  diffApplied = true;
667
667
  }
668
668
  else {
669
- // Fallback: try stripping leading/trailing empty lines/whitespace from the search block
669
+ // Fallback 1: try stripping leading/trailing empty lines/whitespace from the search block
670
670
  const trimmedSearch = search.trim();
671
671
  if (trimmedSearch && normalizedFile.includes(trimmedSearch)) {
672
- fileContent = normalizedFile.replace(trimmedSearch, replace.trim());
672
+ fileContent = normalizedFile.replace(trimmedSearch, () => replace.trim());
673
673
  diffApplied = true;
674
674
  }
675
675
  else {
676
- ui_1.ui.error(`Could not apply diff to ${filePath}: SEARCH block not exactly matched.`);
676
+ // Fallback 2: Regex fuzzy matching that ignores exact whitespace differences (e.g. indentation or newlines)
677
+ const escapedSearch = trimmedSearch.replace(/[.*+?^${}()|[\]\\]/g, '\\$&').replace(/\s+/g, '\\s+');
678
+ const regex = new RegExp(escapedSearch);
679
+ if (regex.test(normalizedFile)) {
680
+ fileContent = normalizedFile.replace(regex, () => replace.trim());
681
+ diffApplied = true;
682
+ }
683
+ else {
684
+ ui_1.ui.error(`Could not apply diff to ${filePath}: SEARCH block not exactly matched.`);
685
+ }
677
686
  }
678
687
  }
679
688
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "draftify-cli",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "description": "Draftify AI CLI tool",
5
5
  "main": "dist/index.js",
6
6
  "bin": {