Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions commitizen/commands/changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@ def _export_template(self, dist: str) -> None:
if filename is None:
raise NotAllowed("Template filename is not set")

text = Path(filename).read_text()
Path(dist).write_text(text)
text = Path(filename).read_text(encoding="utf-8")
Path(dist).write_text(text, encoding="utf-8")

def __call__(self) -> None:
commit_parser = self.cz.commit_parser
Expand Down
2 changes: 1 addition & 1 deletion commitizen/project_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def get_default_version_provider() -> Literal[
]:
pyproject_path = Path("pyproject.toml")
if pyproject_path.is_file():
if "[tool.poetry]" in pyproject_path.read_text():
if "[tool.poetry]" in pyproject_path.read_text(encoding="utf-8"):
return "poetry"
if Path("uv.lock").is_file():
return "uv"
Expand Down
14 changes: 8 additions & 6 deletions commitizen/providers/base_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,15 @@ class JsonProvider(FileProvider):
indent: ClassVar[int] = 2

def get_version(self) -> str:
document = json.loads(self.file.read_text())
document = json.loads(self.file.read_text(encoding="utf-8"))
return self.get(document)

def set_version(self, version: str) -> None:
document = json.loads(self.file.read_text())
document = json.loads(self.file.read_text(encoding="utf-8"))
self.set(document, version)
self.file.write_text(json.dumps(document, indent=self.indent) + "\n")
self.file.write_text(
json.dumps(document, indent=self.indent) + "\n", encoding="utf-8"
)

def get(self, document: Mapping[str, str]) -> str:
return document["version"]
Expand All @@ -79,13 +81,13 @@ class TomlProvider(FileProvider):
"""

def get_version(self) -> str:
document = tomlkit.parse(self.file.read_text())
document = tomlkit.parse(self.file.read_text(encoding="utf-8"))
return self.get(document)

def set_version(self, version: str) -> None:
document = tomlkit.parse(self.file.read_text())
document = tomlkit.parse(self.file.read_text(encoding="utf-8"))
self.set(document, version)
self.file.write_text(tomlkit.dumps(document))
self.file.write_text(tomlkit.dumps(document), encoding="utf-8")

def get(self, document: tomlkit.TOMLDocument) -> str:
return document["project"]["version"] # type: ignore[index,return-value]
Expand Down
10 changes: 6 additions & 4 deletions commitizen/providers/cargo_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ def set_version(self, version: str) -> None:
self.set_lock_version(version)

def set_lock_version(self, version: str) -> None:
cargo_toml_content = parse(self.file.read_text())
cargo_lock_content = parse(self.lock_file.read_text())
cargo_toml_content = parse(self.file.read_text(encoding="utf-8"))
cargo_lock_content = parse(self.lock_file.read_text(encoding="utf-8"))
packages = cargo_lock_content["package"]

if TYPE_CHECKING:
Expand Down Expand Up @@ -75,7 +75,9 @@ def set_lock_version(self, version: str) -> None:
continue

cargo_file = Path(path) / "Cargo.toml"
package_content = parse(cargo_file.read_text()).get("package", {})
package_content = parse(cargo_file.read_text(encoding="utf-8")).get(
"package", {}
)
if TYPE_CHECKING:
assert isinstance(package_content, dict)
try:
Expand All @@ -92,7 +94,7 @@ def set_lock_version(self, version: str) -> None:
if package["name"] in members_inheriting:
cargo_lock_content["package"][i]["version"] = version # type: ignore[index]

self.lock_file.write_text(dumps(cargo_lock_content))
self.lock_file.write_text(dumps(cargo_lock_content), encoding="utf-8")


def _try_get_workspace(document: TOMLDocument) -> dict:
Expand Down
18 changes: 11 additions & 7 deletions commitizen/providers/npm_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,29 +36,33 @@ def get_version(self) -> str:
"""
Get the current version from package.json
"""
package_document = json.loads(self.package_file.read_text())
package_document = json.loads(self.package_file.read_text(encoding="utf-8"))
return self.get_package_version(package_document)

def set_version(self, version: str) -> None:
package_document = self.set_package_version(
json.loads(self.package_file.read_text()), version
json.loads(self.package_file.read_text(encoding="utf-8")), version
)
self.package_file.write_text(
json.dumps(package_document, indent=self.indent) + "\n"
json.dumps(package_document, indent=self.indent) + "\n",
encoding="utf-8",
)
if self.lock_file.is_file():
lock_document = self.set_lock_version(
json.loads(self.lock_file.read_text()), version
json.loads(self.lock_file.read_text(encoding="utf-8")), version
)
self.lock_file.write_text(
json.dumps(lock_document, indent=self.indent) + "\n"
json.dumps(lock_document, indent=self.indent) + "\n",
encoding="utf-8",
)
if self.shrinkwrap_file.is_file():
shrinkwrap_document = self.set_shrinkwrap_version(
json.loads(self.shrinkwrap_file.read_text()), version
json.loads(self.shrinkwrap_file.read_text(encoding="utf-8")),
version,
)
self.shrinkwrap_file.write_text(
json.dumps(shrinkwrap_document, indent=self.indent) + "\n"
json.dumps(shrinkwrap_document, indent=self.indent) + "\n",
encoding="utf-8",
)

def get_package_version(self, document: Mapping[str, str]) -> str:
Expand Down
6 changes: 3 additions & 3 deletions commitizen/providers/uv_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ def set_version(self, version: str) -> None:
self.set_lock_version(version)

def set_lock_version(self, version: str) -> None:
pyproject_toml_content = tomlkit.parse(self.file.read_text())
pyproject_toml_content = tomlkit.parse(self.file.read_text(encoding="utf-8"))
project_name = pyproject_toml_content["project"]["name"] # type: ignore[index]
normalized_project_name = canonicalize_name(str(project_name))

document = tomlkit.parse(self.lock_file.read_text())
document = tomlkit.parse(self.lock_file.read_text(encoding="utf-8"))

packages: tomlkit.items.AoT = document["package"] # type: ignore[assignment]
for i, package in enumerate(packages):
if package["name"] == normalized_project_name:
document["package"][i]["version"] = version # type: ignore[index]
break
self.lock_file.write_text(tomlkit.dumps(document))
self.lock_file.write_text(tomlkit.dumps(document), encoding="utf-8")
Loading
Loading