bumpp 9.4.2 → 9.5.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.
- package/dist/{chunk-WWXZEF5W.mjs → chunk-7Z2ZW6D2.mjs} +27 -135
- package/dist/cli/index.js +28 -136
- package/dist/cli/index.mjs +2 -2
- package/dist/index.js +27 -135
- package/dist/index.mjs +1 -1
- package/package.json +7 -8
|
@@ -696,9 +696,9 @@ function getNextVersion(currentVersion, bump) {
|
|
|
696
696
|
}
|
|
697
697
|
function getNextVersions(currentVersion, preid) {
|
|
698
698
|
const next = {};
|
|
699
|
-
const
|
|
700
|
-
if (typeof (
|
|
701
|
-
preid = (
|
|
699
|
+
const parse2 = semver.parse(currentVersion);
|
|
700
|
+
if (typeof (parse2 == null ? void 0 : parse2.prerelease[0]) === "string")
|
|
701
|
+
preid = (parse2 == null ? void 0 : parse2.prerelease[0]) || "preid";
|
|
702
702
|
for (const type of releaseTypes)
|
|
703
703
|
next[type] = getNextVersion(currentVersion, { type, preid });
|
|
704
704
|
return next;
|
|
@@ -761,134 +761,20 @@ import { valid as isValidVersion2 } from "semver";
|
|
|
761
761
|
// src/fs.ts
|
|
762
762
|
import fs from "fs";
|
|
763
763
|
import path from "path";
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
var INDENT_REGEX = /^(?:( )+|\t+)/;
|
|
767
|
-
var INDENT_TYPE_SPACE = "space";
|
|
768
|
-
var INDENT_TYPE_TAB = "tab";
|
|
769
|
-
function makeIndentsMap(string, ignoreSingleSpaces) {
|
|
770
|
-
const indents = /* @__PURE__ */ new Map();
|
|
771
|
-
let previousSize = 0;
|
|
772
|
-
let previousIndentType;
|
|
773
|
-
let key;
|
|
774
|
-
for (const line of string.split(/\n/g)) {
|
|
775
|
-
if (!line) {
|
|
776
|
-
continue;
|
|
777
|
-
}
|
|
778
|
-
let indent;
|
|
779
|
-
let indentType;
|
|
780
|
-
let use;
|
|
781
|
-
let weight;
|
|
782
|
-
let entry;
|
|
783
|
-
const matches = line.match(INDENT_REGEX);
|
|
784
|
-
if (matches === null) {
|
|
785
|
-
previousSize = 0;
|
|
786
|
-
previousIndentType = "";
|
|
787
|
-
} else {
|
|
788
|
-
indent = matches[0].length;
|
|
789
|
-
indentType = matches[1] ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
|
|
790
|
-
if (ignoreSingleSpaces && indentType === INDENT_TYPE_SPACE && indent === 1) {
|
|
791
|
-
continue;
|
|
792
|
-
}
|
|
793
|
-
if (indentType !== previousIndentType) {
|
|
794
|
-
previousSize = 0;
|
|
795
|
-
}
|
|
796
|
-
previousIndentType = indentType;
|
|
797
|
-
use = 1;
|
|
798
|
-
weight = 0;
|
|
799
|
-
const indentDifference = indent - previousSize;
|
|
800
|
-
previousSize = indent;
|
|
801
|
-
if (indentDifference === 0) {
|
|
802
|
-
use = 0;
|
|
803
|
-
weight = 1;
|
|
804
|
-
} else {
|
|
805
|
-
const absoluteIndentDifference = indentDifference > 0 ? indentDifference : -indentDifference;
|
|
806
|
-
key = encodeIndentsKey(indentType, absoluteIndentDifference);
|
|
807
|
-
}
|
|
808
|
-
entry = indents.get(key);
|
|
809
|
-
entry = entry === void 0 ? [1, 0] : [entry[0] + use, entry[1] + weight];
|
|
810
|
-
indents.set(key, entry);
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
return indents;
|
|
814
|
-
}
|
|
815
|
-
function encodeIndentsKey(indentType, indentAmount) {
|
|
816
|
-
const typeCharacter = indentType === INDENT_TYPE_SPACE ? "s" : "t";
|
|
817
|
-
return typeCharacter + String(indentAmount);
|
|
818
|
-
}
|
|
819
|
-
function decodeIndentsKey(indentsKey) {
|
|
820
|
-
const keyHasTypeSpace = indentsKey[0] === "s";
|
|
821
|
-
const type = keyHasTypeSpace ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
|
|
822
|
-
const amount = Number(indentsKey.slice(1));
|
|
823
|
-
return { type, amount };
|
|
824
|
-
}
|
|
825
|
-
function getMostUsedKey(indents) {
|
|
826
|
-
let result;
|
|
827
|
-
let maxUsed = 0;
|
|
828
|
-
let maxWeight = 0;
|
|
829
|
-
for (const [key, [usedCount, weight]] of indents) {
|
|
830
|
-
if (usedCount > maxUsed || usedCount === maxUsed && weight > maxWeight) {
|
|
831
|
-
maxUsed = usedCount;
|
|
832
|
-
maxWeight = weight;
|
|
833
|
-
result = key;
|
|
834
|
-
}
|
|
835
|
-
}
|
|
836
|
-
return result;
|
|
837
|
-
}
|
|
838
|
-
function makeIndentString(type, amount) {
|
|
839
|
-
const indentCharacter = type === INDENT_TYPE_SPACE ? " " : " ";
|
|
840
|
-
return indentCharacter.repeat(amount);
|
|
841
|
-
}
|
|
842
|
-
function detectIndent(string) {
|
|
843
|
-
if (typeof string !== "string") {
|
|
844
|
-
throw new TypeError("Expected a string");
|
|
845
|
-
}
|
|
846
|
-
let indents = makeIndentsMap(string, true);
|
|
847
|
-
if (indents.size === 0) {
|
|
848
|
-
indents = makeIndentsMap(string, false);
|
|
849
|
-
}
|
|
850
|
-
const keyOfMostUsedIndent = getMostUsedKey(indents);
|
|
851
|
-
let type;
|
|
852
|
-
let amount = 0;
|
|
853
|
-
let indent = "";
|
|
854
|
-
if (keyOfMostUsedIndent !== void 0) {
|
|
855
|
-
({ type, amount } = decodeIndentsKey(keyOfMostUsedIndent));
|
|
856
|
-
indent = makeIndentString(type, amount);
|
|
857
|
-
}
|
|
858
|
-
return {
|
|
859
|
-
amount,
|
|
860
|
-
type,
|
|
861
|
-
indent
|
|
862
|
-
};
|
|
863
|
-
}
|
|
864
|
-
|
|
865
|
-
// node_modules/.pnpm/detect-newline@4.0.1/node_modules/detect-newline/index.js
|
|
866
|
-
function detectNewline(string) {
|
|
867
|
-
if (typeof string !== "string") {
|
|
868
|
-
throw new TypeError("Expected a string");
|
|
869
|
-
}
|
|
870
|
-
const newlines = string.match(/(?:\r?\n)/g) || [];
|
|
871
|
-
if (newlines.length === 0) {
|
|
872
|
-
return;
|
|
873
|
-
}
|
|
874
|
-
const crlf = newlines.filter((newline) => newline === "\r\n").length;
|
|
875
|
-
const lf = newlines.length - crlf;
|
|
876
|
-
return crlf > lf ? "\r\n" : "\n";
|
|
877
|
-
}
|
|
878
|
-
|
|
879
|
-
// src/fs.ts
|
|
880
|
-
async function readJsonFile(name, cwd) {
|
|
764
|
+
import * as jsonc from "jsonc-parser";
|
|
765
|
+
async function readJsoncFile(name, cwd) {
|
|
881
766
|
const file = await readTextFile(name, cwd);
|
|
882
|
-
const data =
|
|
883
|
-
const
|
|
884
|
-
|
|
885
|
-
return __spreadProps(__spreadValues({}, file), { data, indent, newline });
|
|
767
|
+
const data = jsonc.parse(file.data);
|
|
768
|
+
const modified = [];
|
|
769
|
+
return __spreadProps(__spreadValues({}, file), { data, modified, text: file.data });
|
|
886
770
|
}
|
|
887
|
-
async function
|
|
888
|
-
let
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
771
|
+
async function writeJsoncFile(file) {
|
|
772
|
+
let newJSON = file.text;
|
|
773
|
+
for (const [key, value] of file.modified) {
|
|
774
|
+
const edit = jsonc.modify(file.text, key, value, {});
|
|
775
|
+
newJSON = jsonc.applyEdits(newJSON, edit);
|
|
776
|
+
}
|
|
777
|
+
return writeTextFile(__spreadProps(__spreadValues({}, file), { data: newJSON }));
|
|
892
778
|
}
|
|
893
779
|
function readTextFile(name, cwd) {
|
|
894
780
|
return new Promise((resolve, reject) => {
|
|
@@ -937,6 +823,10 @@ async function getCurrentVersion(operation) {
|
|
|
937
823
|
const filesToCheck = files.filter((file) => file.endsWith(".json"));
|
|
938
824
|
if (!filesToCheck.includes("package.json"))
|
|
939
825
|
filesToCheck.push("package.json");
|
|
826
|
+
if (!filesToCheck.includes("deno.json"))
|
|
827
|
+
filesToCheck.push("deno.json");
|
|
828
|
+
if (!filesToCheck.includes("deno.jsonc"))
|
|
829
|
+
filesToCheck.push("deno.jsonc");
|
|
940
830
|
for (const file of filesToCheck) {
|
|
941
831
|
const version = await readVersion(file, cwd);
|
|
942
832
|
if (version) {
|
|
@@ -952,7 +842,7 @@ async function getCurrentVersion(operation) {
|
|
|
952
842
|
}
|
|
953
843
|
async function readVersion(file, cwd) {
|
|
954
844
|
try {
|
|
955
|
-
const { data: manifest } = await
|
|
845
|
+
const { data: manifest } = await readJsoncFile(file, cwd);
|
|
956
846
|
if (isManifest(manifest)) {
|
|
957
847
|
if (isValidVersion2(manifest.version))
|
|
958
848
|
return manifest.version;
|
|
@@ -1182,7 +1072,7 @@ import * as ezSpawn2 from "@jsdevtools/ez-spawn";
|
|
|
1182
1072
|
async function runNpmScript(script, operation) {
|
|
1183
1073
|
const { cwd, ignoreScripts } = operation.options;
|
|
1184
1074
|
if (!ignoreScripts) {
|
|
1185
|
-
const { data: manifest } = await
|
|
1075
|
+
const { data: manifest } = await readJsoncFile("package.json", cwd);
|
|
1186
1076
|
if (isManifest(manifest) && hasScript(manifest, script)) {
|
|
1187
1077
|
await ezSpawn2.async("npm", ["run", script, "--silent"], { stdio: "inherit" });
|
|
1188
1078
|
operation.update({ event: "npm script" /* NpmScript */, script });
|
|
@@ -1225,7 +1115,9 @@ async function updateFile(relPath, operation) {
|
|
|
1225
1115
|
case "bower.json":
|
|
1226
1116
|
case "component.json":
|
|
1227
1117
|
case "jsr.json":
|
|
1118
|
+
case "jsr.jsonc":
|
|
1228
1119
|
case "deno.json":
|
|
1120
|
+
case "deno.jsonc":
|
|
1229
1121
|
return updateManifestFile(relPath, operation);
|
|
1230
1122
|
default:
|
|
1231
1123
|
return updateTextFile(relPath, operation);
|
|
@@ -1235,12 +1127,12 @@ async function updateManifestFile(relPath, operation) {
|
|
|
1235
1127
|
const { cwd } = operation.options;
|
|
1236
1128
|
const { newVersion } = operation.state;
|
|
1237
1129
|
let modified = false;
|
|
1238
|
-
const file = await
|
|
1130
|
+
const file = await readJsoncFile(relPath, cwd);
|
|
1239
1131
|
if (isManifest(file.data) && file.data.version !== newVersion) {
|
|
1240
|
-
file.
|
|
1132
|
+
file.modified.push([["version"], newVersion]);
|
|
1241
1133
|
if (isPackageLockManifest(file.data))
|
|
1242
|
-
file.
|
|
1243
|
-
await
|
|
1134
|
+
file.modified.push([["packages", "", "version"], newVersion]);
|
|
1135
|
+
await writeJsoncFile(file);
|
|
1244
1136
|
modified = true;
|
|
1245
1137
|
}
|
|
1246
1138
|
return modified;
|
package/dist/cli/index.js
CHANGED
|
@@ -636,7 +636,7 @@ var logSymbols = isUnicodeSupported() ? main : fallback;
|
|
|
636
636
|
var log_symbols_default = logSymbols;
|
|
637
637
|
|
|
638
638
|
// package.json
|
|
639
|
-
var version = "9.
|
|
639
|
+
var version = "9.5.1";
|
|
640
640
|
|
|
641
641
|
// src/version-bump.ts
|
|
642
642
|
var import_node_process5 = __toESM(require("process"));
|
|
@@ -690,9 +690,9 @@ function getNextVersion(currentVersion, bump) {
|
|
|
690
690
|
}
|
|
691
691
|
function getNextVersions(currentVersion, preid) {
|
|
692
692
|
const next = {};
|
|
693
|
-
const
|
|
694
|
-
if (typeof (
|
|
695
|
-
preid = (
|
|
693
|
+
const parse2 = import_semver.default.parse(currentVersion);
|
|
694
|
+
if (typeof (parse2 == null ? void 0 : parse2.prerelease[0]) === "string")
|
|
695
|
+
preid = (parse2 == null ? void 0 : parse2.prerelease[0]) || "preid";
|
|
696
696
|
for (const type of releaseTypes)
|
|
697
697
|
next[type] = getNextVersion(currentVersion, { type, preid });
|
|
698
698
|
return next;
|
|
@@ -755,134 +755,20 @@ var import_semver2 = require("semver");
|
|
|
755
755
|
// src/fs.ts
|
|
756
756
|
var import_node_fs = __toESM(require("fs"));
|
|
757
757
|
var import_node_path = __toESM(require("path"));
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
var INDENT_REGEX = /^(?:( )+|\t+)/;
|
|
761
|
-
var INDENT_TYPE_SPACE = "space";
|
|
762
|
-
var INDENT_TYPE_TAB = "tab";
|
|
763
|
-
function makeIndentsMap(string, ignoreSingleSpaces) {
|
|
764
|
-
const indents = /* @__PURE__ */ new Map();
|
|
765
|
-
let previousSize = 0;
|
|
766
|
-
let previousIndentType;
|
|
767
|
-
let key;
|
|
768
|
-
for (const line of string.split(/\n/g)) {
|
|
769
|
-
if (!line) {
|
|
770
|
-
continue;
|
|
771
|
-
}
|
|
772
|
-
let indent;
|
|
773
|
-
let indentType;
|
|
774
|
-
let use;
|
|
775
|
-
let weight;
|
|
776
|
-
let entry;
|
|
777
|
-
const matches = line.match(INDENT_REGEX);
|
|
778
|
-
if (matches === null) {
|
|
779
|
-
previousSize = 0;
|
|
780
|
-
previousIndentType = "";
|
|
781
|
-
} else {
|
|
782
|
-
indent = matches[0].length;
|
|
783
|
-
indentType = matches[1] ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
|
|
784
|
-
if (ignoreSingleSpaces && indentType === INDENT_TYPE_SPACE && indent === 1) {
|
|
785
|
-
continue;
|
|
786
|
-
}
|
|
787
|
-
if (indentType !== previousIndentType) {
|
|
788
|
-
previousSize = 0;
|
|
789
|
-
}
|
|
790
|
-
previousIndentType = indentType;
|
|
791
|
-
use = 1;
|
|
792
|
-
weight = 0;
|
|
793
|
-
const indentDifference = indent - previousSize;
|
|
794
|
-
previousSize = indent;
|
|
795
|
-
if (indentDifference === 0) {
|
|
796
|
-
use = 0;
|
|
797
|
-
weight = 1;
|
|
798
|
-
} else {
|
|
799
|
-
const absoluteIndentDifference = indentDifference > 0 ? indentDifference : -indentDifference;
|
|
800
|
-
key = encodeIndentsKey(indentType, absoluteIndentDifference);
|
|
801
|
-
}
|
|
802
|
-
entry = indents.get(key);
|
|
803
|
-
entry = entry === void 0 ? [1, 0] : [entry[0] + use, entry[1] + weight];
|
|
804
|
-
indents.set(key, entry);
|
|
805
|
-
}
|
|
806
|
-
}
|
|
807
|
-
return indents;
|
|
808
|
-
}
|
|
809
|
-
function encodeIndentsKey(indentType, indentAmount) {
|
|
810
|
-
const typeCharacter = indentType === INDENT_TYPE_SPACE ? "s" : "t";
|
|
811
|
-
return typeCharacter + String(indentAmount);
|
|
812
|
-
}
|
|
813
|
-
function decodeIndentsKey(indentsKey) {
|
|
814
|
-
const keyHasTypeSpace = indentsKey[0] === "s";
|
|
815
|
-
const type = keyHasTypeSpace ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
|
|
816
|
-
const amount = Number(indentsKey.slice(1));
|
|
817
|
-
return { type, amount };
|
|
818
|
-
}
|
|
819
|
-
function getMostUsedKey(indents) {
|
|
820
|
-
let result;
|
|
821
|
-
let maxUsed = 0;
|
|
822
|
-
let maxWeight = 0;
|
|
823
|
-
for (const [key, [usedCount, weight]] of indents) {
|
|
824
|
-
if (usedCount > maxUsed || usedCount === maxUsed && weight > maxWeight) {
|
|
825
|
-
maxUsed = usedCount;
|
|
826
|
-
maxWeight = weight;
|
|
827
|
-
result = key;
|
|
828
|
-
}
|
|
829
|
-
}
|
|
830
|
-
return result;
|
|
831
|
-
}
|
|
832
|
-
function makeIndentString(type, amount) {
|
|
833
|
-
const indentCharacter = type === INDENT_TYPE_SPACE ? " " : " ";
|
|
834
|
-
return indentCharacter.repeat(amount);
|
|
835
|
-
}
|
|
836
|
-
function detectIndent(string) {
|
|
837
|
-
if (typeof string !== "string") {
|
|
838
|
-
throw new TypeError("Expected a string");
|
|
839
|
-
}
|
|
840
|
-
let indents = makeIndentsMap(string, true);
|
|
841
|
-
if (indents.size === 0) {
|
|
842
|
-
indents = makeIndentsMap(string, false);
|
|
843
|
-
}
|
|
844
|
-
const keyOfMostUsedIndent = getMostUsedKey(indents);
|
|
845
|
-
let type;
|
|
846
|
-
let amount = 0;
|
|
847
|
-
let indent = "";
|
|
848
|
-
if (keyOfMostUsedIndent !== void 0) {
|
|
849
|
-
({ type, amount } = decodeIndentsKey(keyOfMostUsedIndent));
|
|
850
|
-
indent = makeIndentString(type, amount);
|
|
851
|
-
}
|
|
852
|
-
return {
|
|
853
|
-
amount,
|
|
854
|
-
type,
|
|
855
|
-
indent
|
|
856
|
-
};
|
|
857
|
-
}
|
|
858
|
-
|
|
859
|
-
// node_modules/.pnpm/detect-newline@4.0.1/node_modules/detect-newline/index.js
|
|
860
|
-
function detectNewline(string) {
|
|
861
|
-
if (typeof string !== "string") {
|
|
862
|
-
throw new TypeError("Expected a string");
|
|
863
|
-
}
|
|
864
|
-
const newlines = string.match(/(?:\r?\n)/g) || [];
|
|
865
|
-
if (newlines.length === 0) {
|
|
866
|
-
return;
|
|
867
|
-
}
|
|
868
|
-
const crlf = newlines.filter((newline) => newline === "\r\n").length;
|
|
869
|
-
const lf = newlines.length - crlf;
|
|
870
|
-
return crlf > lf ? "\r\n" : "\n";
|
|
871
|
-
}
|
|
872
|
-
|
|
873
|
-
// src/fs.ts
|
|
874
|
-
async function readJsonFile(name, cwd) {
|
|
758
|
+
var jsonc = __toESM(require("jsonc-parser"));
|
|
759
|
+
async function readJsoncFile(name, cwd) {
|
|
875
760
|
const file = await readTextFile(name, cwd);
|
|
876
|
-
const data =
|
|
877
|
-
const
|
|
878
|
-
|
|
879
|
-
return __spreadProps(__spreadValues({}, file), { data, indent, newline });
|
|
761
|
+
const data = jsonc.parse(file.data);
|
|
762
|
+
const modified = [];
|
|
763
|
+
return __spreadProps(__spreadValues({}, file), { data, modified, text: file.data });
|
|
880
764
|
}
|
|
881
|
-
async function
|
|
882
|
-
let
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
765
|
+
async function writeJsoncFile(file) {
|
|
766
|
+
let newJSON = file.text;
|
|
767
|
+
for (const [key, value] of file.modified) {
|
|
768
|
+
const edit = jsonc.modify(file.text, key, value, {});
|
|
769
|
+
newJSON = jsonc.applyEdits(newJSON, edit);
|
|
770
|
+
}
|
|
771
|
+
return writeTextFile(__spreadProps(__spreadValues({}, file), { data: newJSON }));
|
|
886
772
|
}
|
|
887
773
|
function readTextFile(name, cwd) {
|
|
888
774
|
return new Promise((resolve, reject) => {
|
|
@@ -931,6 +817,10 @@ async function getCurrentVersion(operation) {
|
|
|
931
817
|
const filesToCheck = files.filter((file) => file.endsWith(".json"));
|
|
932
818
|
if (!filesToCheck.includes("package.json"))
|
|
933
819
|
filesToCheck.push("package.json");
|
|
820
|
+
if (!filesToCheck.includes("deno.json"))
|
|
821
|
+
filesToCheck.push("deno.json");
|
|
822
|
+
if (!filesToCheck.includes("deno.jsonc"))
|
|
823
|
+
filesToCheck.push("deno.jsonc");
|
|
934
824
|
for (const file of filesToCheck) {
|
|
935
825
|
const version2 = await readVersion(file, cwd);
|
|
936
826
|
if (version2) {
|
|
@@ -946,7 +836,7 @@ async function getCurrentVersion(operation) {
|
|
|
946
836
|
}
|
|
947
837
|
async function readVersion(file, cwd) {
|
|
948
838
|
try {
|
|
949
|
-
const { data: manifest } = await
|
|
839
|
+
const { data: manifest } = await readJsoncFile(file, cwd);
|
|
950
840
|
if (isManifest(manifest)) {
|
|
951
841
|
if ((0, import_semver2.valid)(manifest.version))
|
|
952
842
|
return manifest.version;
|
|
@@ -1176,7 +1066,7 @@ var ezSpawn2 = __toESM(require("@jsdevtools/ez-spawn"));
|
|
|
1176
1066
|
async function runNpmScript(script, operation) {
|
|
1177
1067
|
const { cwd, ignoreScripts } = operation.options;
|
|
1178
1068
|
if (!ignoreScripts) {
|
|
1179
|
-
const { data: manifest } = await
|
|
1069
|
+
const { data: manifest } = await readJsoncFile("package.json", cwd);
|
|
1180
1070
|
if (isManifest(manifest) && hasScript(manifest, script)) {
|
|
1181
1071
|
await ezSpawn2.async("npm", ["run", script, "--silent"], { stdio: "inherit" });
|
|
1182
1072
|
operation.update({ event: "npm script" /* NpmScript */, script });
|
|
@@ -1219,7 +1109,9 @@ async function updateFile(relPath, operation) {
|
|
|
1219
1109
|
case "bower.json":
|
|
1220
1110
|
case "component.json":
|
|
1221
1111
|
case "jsr.json":
|
|
1112
|
+
case "jsr.jsonc":
|
|
1222
1113
|
case "deno.json":
|
|
1114
|
+
case "deno.jsonc":
|
|
1223
1115
|
return updateManifestFile(relPath, operation);
|
|
1224
1116
|
default:
|
|
1225
1117
|
return updateTextFile(relPath, operation);
|
|
@@ -1229,12 +1121,12 @@ async function updateManifestFile(relPath, operation) {
|
|
|
1229
1121
|
const { cwd } = operation.options;
|
|
1230
1122
|
const { newVersion } = operation.state;
|
|
1231
1123
|
let modified = false;
|
|
1232
|
-
const file = await
|
|
1124
|
+
const file = await readJsoncFile(relPath, cwd);
|
|
1233
1125
|
if (isManifest(file.data) && file.data.version !== newVersion) {
|
|
1234
|
-
file.
|
|
1126
|
+
file.modified.push([["version"], newVersion]);
|
|
1235
1127
|
if (isPackageLockManifest(file.data))
|
|
1236
|
-
file.
|
|
1237
|
-
await
|
|
1128
|
+
file.modified.push([["packages", "", "version"], newVersion]);
|
|
1129
|
+
await writeJsoncFile(file);
|
|
1238
1130
|
modified = true;
|
|
1239
1131
|
}
|
|
1240
1132
|
return modified;
|
package/dist/cli/index.mjs
CHANGED
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
log_symbols_default,
|
|
11
11
|
require_picocolors,
|
|
12
12
|
versionBump
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-7Z2ZW6D2.mjs";
|
|
14
14
|
|
|
15
15
|
// src/cli/index.ts
|
|
16
16
|
import process2 from "process";
|
|
17
17
|
|
|
18
18
|
// package.json
|
|
19
|
-
var version = "9.
|
|
19
|
+
var version = "9.5.1";
|
|
20
20
|
|
|
21
21
|
// src/cli/parse-args.ts
|
|
22
22
|
var import_picocolors = __toESM(require_picocolors());
|
package/dist/index.js
CHANGED
|
@@ -695,9 +695,9 @@ function getNextVersion(currentVersion, bump) {
|
|
|
695
695
|
}
|
|
696
696
|
function getNextVersions(currentVersion, preid) {
|
|
697
697
|
const next = {};
|
|
698
|
-
const
|
|
699
|
-
if (typeof (
|
|
700
|
-
preid = (
|
|
698
|
+
const parse2 = import_semver.default.parse(currentVersion);
|
|
699
|
+
if (typeof (parse2 == null ? void 0 : parse2.prerelease[0]) === "string")
|
|
700
|
+
preid = (parse2 == null ? void 0 : parse2.prerelease[0]) || "preid";
|
|
701
701
|
for (const type of releaseTypes)
|
|
702
702
|
next[type] = getNextVersion(currentVersion, { type, preid });
|
|
703
703
|
return next;
|
|
@@ -760,134 +760,20 @@ var import_semver2 = require("semver");
|
|
|
760
760
|
// src/fs.ts
|
|
761
761
|
var import_node_fs = __toESM(require("fs"));
|
|
762
762
|
var import_node_path = __toESM(require("path"));
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
var INDENT_REGEX = /^(?:( )+|\t+)/;
|
|
766
|
-
var INDENT_TYPE_SPACE = "space";
|
|
767
|
-
var INDENT_TYPE_TAB = "tab";
|
|
768
|
-
function makeIndentsMap(string, ignoreSingleSpaces) {
|
|
769
|
-
const indents = /* @__PURE__ */ new Map();
|
|
770
|
-
let previousSize = 0;
|
|
771
|
-
let previousIndentType;
|
|
772
|
-
let key;
|
|
773
|
-
for (const line of string.split(/\n/g)) {
|
|
774
|
-
if (!line) {
|
|
775
|
-
continue;
|
|
776
|
-
}
|
|
777
|
-
let indent;
|
|
778
|
-
let indentType;
|
|
779
|
-
let use;
|
|
780
|
-
let weight;
|
|
781
|
-
let entry;
|
|
782
|
-
const matches = line.match(INDENT_REGEX);
|
|
783
|
-
if (matches === null) {
|
|
784
|
-
previousSize = 0;
|
|
785
|
-
previousIndentType = "";
|
|
786
|
-
} else {
|
|
787
|
-
indent = matches[0].length;
|
|
788
|
-
indentType = matches[1] ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
|
|
789
|
-
if (ignoreSingleSpaces && indentType === INDENT_TYPE_SPACE && indent === 1) {
|
|
790
|
-
continue;
|
|
791
|
-
}
|
|
792
|
-
if (indentType !== previousIndentType) {
|
|
793
|
-
previousSize = 0;
|
|
794
|
-
}
|
|
795
|
-
previousIndentType = indentType;
|
|
796
|
-
use = 1;
|
|
797
|
-
weight = 0;
|
|
798
|
-
const indentDifference = indent - previousSize;
|
|
799
|
-
previousSize = indent;
|
|
800
|
-
if (indentDifference === 0) {
|
|
801
|
-
use = 0;
|
|
802
|
-
weight = 1;
|
|
803
|
-
} else {
|
|
804
|
-
const absoluteIndentDifference = indentDifference > 0 ? indentDifference : -indentDifference;
|
|
805
|
-
key = encodeIndentsKey(indentType, absoluteIndentDifference);
|
|
806
|
-
}
|
|
807
|
-
entry = indents.get(key);
|
|
808
|
-
entry = entry === void 0 ? [1, 0] : [entry[0] + use, entry[1] + weight];
|
|
809
|
-
indents.set(key, entry);
|
|
810
|
-
}
|
|
811
|
-
}
|
|
812
|
-
return indents;
|
|
813
|
-
}
|
|
814
|
-
function encodeIndentsKey(indentType, indentAmount) {
|
|
815
|
-
const typeCharacter = indentType === INDENT_TYPE_SPACE ? "s" : "t";
|
|
816
|
-
return typeCharacter + String(indentAmount);
|
|
817
|
-
}
|
|
818
|
-
function decodeIndentsKey(indentsKey) {
|
|
819
|
-
const keyHasTypeSpace = indentsKey[0] === "s";
|
|
820
|
-
const type = keyHasTypeSpace ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
|
|
821
|
-
const amount = Number(indentsKey.slice(1));
|
|
822
|
-
return { type, amount };
|
|
823
|
-
}
|
|
824
|
-
function getMostUsedKey(indents) {
|
|
825
|
-
let result;
|
|
826
|
-
let maxUsed = 0;
|
|
827
|
-
let maxWeight = 0;
|
|
828
|
-
for (const [key, [usedCount, weight]] of indents) {
|
|
829
|
-
if (usedCount > maxUsed || usedCount === maxUsed && weight > maxWeight) {
|
|
830
|
-
maxUsed = usedCount;
|
|
831
|
-
maxWeight = weight;
|
|
832
|
-
result = key;
|
|
833
|
-
}
|
|
834
|
-
}
|
|
835
|
-
return result;
|
|
836
|
-
}
|
|
837
|
-
function makeIndentString(type, amount) {
|
|
838
|
-
const indentCharacter = type === INDENT_TYPE_SPACE ? " " : " ";
|
|
839
|
-
return indentCharacter.repeat(amount);
|
|
840
|
-
}
|
|
841
|
-
function detectIndent(string) {
|
|
842
|
-
if (typeof string !== "string") {
|
|
843
|
-
throw new TypeError("Expected a string");
|
|
844
|
-
}
|
|
845
|
-
let indents = makeIndentsMap(string, true);
|
|
846
|
-
if (indents.size === 0) {
|
|
847
|
-
indents = makeIndentsMap(string, false);
|
|
848
|
-
}
|
|
849
|
-
const keyOfMostUsedIndent = getMostUsedKey(indents);
|
|
850
|
-
let type;
|
|
851
|
-
let amount = 0;
|
|
852
|
-
let indent = "";
|
|
853
|
-
if (keyOfMostUsedIndent !== void 0) {
|
|
854
|
-
({ type, amount } = decodeIndentsKey(keyOfMostUsedIndent));
|
|
855
|
-
indent = makeIndentString(type, amount);
|
|
856
|
-
}
|
|
857
|
-
return {
|
|
858
|
-
amount,
|
|
859
|
-
type,
|
|
860
|
-
indent
|
|
861
|
-
};
|
|
862
|
-
}
|
|
863
|
-
|
|
864
|
-
// node_modules/.pnpm/detect-newline@4.0.1/node_modules/detect-newline/index.js
|
|
865
|
-
function detectNewline(string) {
|
|
866
|
-
if (typeof string !== "string") {
|
|
867
|
-
throw new TypeError("Expected a string");
|
|
868
|
-
}
|
|
869
|
-
const newlines = string.match(/(?:\r?\n)/g) || [];
|
|
870
|
-
if (newlines.length === 0) {
|
|
871
|
-
return;
|
|
872
|
-
}
|
|
873
|
-
const crlf = newlines.filter((newline) => newline === "\r\n").length;
|
|
874
|
-
const lf = newlines.length - crlf;
|
|
875
|
-
return crlf > lf ? "\r\n" : "\n";
|
|
876
|
-
}
|
|
877
|
-
|
|
878
|
-
// src/fs.ts
|
|
879
|
-
async function readJsonFile(name, cwd) {
|
|
763
|
+
var jsonc = __toESM(require("jsonc-parser"));
|
|
764
|
+
async function readJsoncFile(name, cwd) {
|
|
880
765
|
const file = await readTextFile(name, cwd);
|
|
881
|
-
const data =
|
|
882
|
-
const
|
|
883
|
-
|
|
884
|
-
return __spreadProps(__spreadValues({}, file), { data, indent, newline });
|
|
766
|
+
const data = jsonc.parse(file.data);
|
|
767
|
+
const modified = [];
|
|
768
|
+
return __spreadProps(__spreadValues({}, file), { data, modified, text: file.data });
|
|
885
769
|
}
|
|
886
|
-
async function
|
|
887
|
-
let
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
770
|
+
async function writeJsoncFile(file) {
|
|
771
|
+
let newJSON = file.text;
|
|
772
|
+
for (const [key, value] of file.modified) {
|
|
773
|
+
const edit = jsonc.modify(file.text, key, value, {});
|
|
774
|
+
newJSON = jsonc.applyEdits(newJSON, edit);
|
|
775
|
+
}
|
|
776
|
+
return writeTextFile(__spreadProps(__spreadValues({}, file), { data: newJSON }));
|
|
891
777
|
}
|
|
892
778
|
function readTextFile(name, cwd) {
|
|
893
779
|
return new Promise((resolve, reject) => {
|
|
@@ -936,6 +822,10 @@ async function getCurrentVersion(operation) {
|
|
|
936
822
|
const filesToCheck = files.filter((file) => file.endsWith(".json"));
|
|
937
823
|
if (!filesToCheck.includes("package.json"))
|
|
938
824
|
filesToCheck.push("package.json");
|
|
825
|
+
if (!filesToCheck.includes("deno.json"))
|
|
826
|
+
filesToCheck.push("deno.json");
|
|
827
|
+
if (!filesToCheck.includes("deno.jsonc"))
|
|
828
|
+
filesToCheck.push("deno.jsonc");
|
|
939
829
|
for (const file of filesToCheck) {
|
|
940
830
|
const version = await readVersion(file, cwd);
|
|
941
831
|
if (version) {
|
|
@@ -951,7 +841,7 @@ async function getCurrentVersion(operation) {
|
|
|
951
841
|
}
|
|
952
842
|
async function readVersion(file, cwd) {
|
|
953
843
|
try {
|
|
954
|
-
const { data: manifest } = await
|
|
844
|
+
const { data: manifest } = await readJsoncFile(file, cwd);
|
|
955
845
|
if (isManifest(manifest)) {
|
|
956
846
|
if ((0, import_semver2.valid)(manifest.version))
|
|
957
847
|
return manifest.version;
|
|
@@ -1200,7 +1090,7 @@ var ezSpawn2 = __toESM(require("@jsdevtools/ez-spawn"));
|
|
|
1200
1090
|
async function runNpmScript(script, operation) {
|
|
1201
1091
|
const { cwd, ignoreScripts } = operation.options;
|
|
1202
1092
|
if (!ignoreScripts) {
|
|
1203
|
-
const { data: manifest } = await
|
|
1093
|
+
const { data: manifest } = await readJsoncFile("package.json", cwd);
|
|
1204
1094
|
if (isManifest(manifest) && hasScript(manifest, script)) {
|
|
1205
1095
|
await ezSpawn2.async("npm", ["run", script, "--silent"], { stdio: "inherit" });
|
|
1206
1096
|
operation.update({ event: "npm script" /* NpmScript */, script });
|
|
@@ -1243,7 +1133,9 @@ async function updateFile(relPath, operation) {
|
|
|
1243
1133
|
case "bower.json":
|
|
1244
1134
|
case "component.json":
|
|
1245
1135
|
case "jsr.json":
|
|
1136
|
+
case "jsr.jsonc":
|
|
1246
1137
|
case "deno.json":
|
|
1138
|
+
case "deno.jsonc":
|
|
1247
1139
|
return updateManifestFile(relPath, operation);
|
|
1248
1140
|
default:
|
|
1249
1141
|
return updateTextFile(relPath, operation);
|
|
@@ -1253,12 +1145,12 @@ async function updateManifestFile(relPath, operation) {
|
|
|
1253
1145
|
const { cwd } = operation.options;
|
|
1254
1146
|
const { newVersion } = operation.state;
|
|
1255
1147
|
let modified = false;
|
|
1256
|
-
const file = await
|
|
1148
|
+
const file = await readJsoncFile(relPath, cwd);
|
|
1257
1149
|
if (isManifest(file.data) && file.data.version !== newVersion) {
|
|
1258
|
-
file.
|
|
1150
|
+
file.modified.push([["version"], newVersion]);
|
|
1259
1151
|
if (isPackageLockManifest(file.data))
|
|
1260
|
-
file.
|
|
1261
|
-
await
|
|
1152
|
+
file.modified.push([["packages", "", "version"], newVersion]);
|
|
1153
|
+
await writeJsoncFile(file);
|
|
1262
1154
|
modified = true;
|
|
1263
1155
|
}
|
|
1264
1156
|
return modified;
|
package/dist/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bumpp",
|
|
3
|
-
"version": "9.
|
|
4
|
-
"packageManager": "pnpm@9.
|
|
3
|
+
"version": "9.5.1",
|
|
4
|
+
"packageManager": "pnpm@9.7.0",
|
|
5
5
|
"description": "Bump version, commit changes, tag, and push to Git",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "James Messinger",
|
|
@@ -65,24 +65,23 @@
|
|
|
65
65
|
"escalade": "^3.1.2",
|
|
66
66
|
"fast-glob": "^3.3.2",
|
|
67
67
|
"js-yaml": "^4.1.0",
|
|
68
|
+
"jsonc-parser": "^3.3.1",
|
|
68
69
|
"prompts": "^2.4.2",
|
|
69
70
|
"semver": "^7.6.3"
|
|
70
71
|
},
|
|
71
72
|
"devDependencies": {
|
|
72
|
-
"@antfu/eslint-config": "^2.
|
|
73
|
+
"@antfu/eslint-config": "^2.25.1",
|
|
73
74
|
"@types/js-yaml": "^4.0.9",
|
|
74
|
-
"@types/node": "^22.0
|
|
75
|
+
"@types/node": "^22.2.0",
|
|
75
76
|
"@types/prompts": "^2.4.9",
|
|
76
77
|
"@types/semver": "^7.5.8",
|
|
77
|
-
"
|
|
78
|
-
"detect-newline": "^4.0.1",
|
|
79
|
-
"eslint": "^9.8.0",
|
|
78
|
+
"eslint": "^9.9.0",
|
|
80
79
|
"esno": "^4.7.0",
|
|
81
80
|
"log-symbols": "^6.0.0",
|
|
82
81
|
"npm-check": "^6.0.1",
|
|
83
82
|
"picocolors": "^1.0.1",
|
|
84
83
|
"rimraf": "^6.0.1",
|
|
85
|
-
"tsup": "^8.2.
|
|
84
|
+
"tsup": "^8.2.4",
|
|
86
85
|
"typescript": "^5.5.4",
|
|
87
86
|
"vitest": "^2.0.5"
|
|
88
87
|
}
|