Open
Show file tree
Hide file tree
Changes from all commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Failed to load files.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
# Changelog

## 8.1.0

- Add support for the `--text` option to treat all files as text.

## 8.0.0

- Add support for multiple files for a single package. #474
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -178,6 +178,10 @@ team.

Specify the name for the directory in which to put the files.

- `--text`

Treat all files as text files. This is useful when git detects text files as binary ones and returns empty diffs.

#### Nested packages

If you are trying to a package at, e.g.
Expand Down
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
import { createGitDiffArguments } from "./gitDiffArguments"

const gitDiffTextArgument = "--text"

describe("createGitDiffArguments", () => {

it("should return --text as one of arguments when enforceTextFileType is true", () => {

const enforceTextFileType = true

expect(createGitDiffArguments(enforceTextFileType)).toContain(gitDiffTextArgument)
})

it("shouldn't return --text as one of arguments when enforceTextFileType is false", () => {

const enforceTextFileType = false

expect(createGitDiffArguments(enforceTextFileType)).not.toContain(gitDiffTextArgument)
})
})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
import { blueBright } from "chalk"

export function createGitDiffArguments(enforceTextFileType: boolean) {

const gitDiffArgs = [
"diff",
"--cached",
"--no-color",
"--ignore-space-at-eol",
"--no-ext-diff",
"--src-prefix=a/",
"--dst-prefix=b/",
]

if (enforceTextFileType) {
console.log(blueBright("Treating all files as text."))
gitDiffArgs.push("--text")
}

return gitDiffArgs
}
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,6 +25,7 @@ const argv = minimist(process.argv.slice(2), {
"error-on-warn",
"create-issue",
"partial",
"text",
"",
],
string: ["-dir", "append", "rebase"],
Expand DownExpand Up@@ -86,6 +87,7 @@ if (argv.version || argv.v) {
appPath,
argv["use-yarn"] ? "yarn" : null,
)
const enforceTextFileType = !!argv.text;
const createIssue = argv["create-issue"]
packageNames.forEach((packagePathSpecifier: string) => {
make({
Expand All@@ -100,6 +102,7 @@ if (argv.version || argv.v) {
"append" in argv
? { type: "append", name: argv.append || undefined }
: { type: "overwrite_last" },
enforceTextFileType
})
})
} else {
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,6 +23,7 @@ import { PackageManager } from "./detectPackageManager"
import { removeIgnoredFiles } from "./filterFiles"
import { getPackageResolution } from "./getPackageResolution"
import { getPackageVersion } from "./getPackageVersion"
import { createGitDiffArguments } from "./gitDiffArguments"
import { hashFile } from "./hash"
import {
getDetailsFromCliString,
Expand DownExpand Up@@ -63,6 +64,7 @@ export function make({
Dir,
createIssue,
mode,
enforceTextFileType,
}: {
packagePathSpecifier: string
appPath: string
Expand All@@ -72,6 +74,7 @@ export function make({
Dir: string
createIssue: boolean
mode: { type: "overwrite_last" } | { type: "append"; name?: string }
enforceTextFileType: boolean
}) {
const packageDetails = getDetailsFromCliString(packagePathSpecifier)

Expand DownExpand Up@@ -310,16 +313,9 @@ export function make({
// stage all files
git("add", "-f", packageDetails.path)

const gitDiffArgs = createGitDiffArguments(enforceTextFileType)
// get diff of changes
const diffResult = git(
"diff",
"--cached",
"--no-color",
"--ignore-space-at-eol",
"--no-ext-diff",
"--src-prefix=a/",
"--dst-prefix=b/",
)
const diffResult = git(...gitDiffArgs)

if (diffResult.stdout.length === 0) {
console.log(
Expand Down