diff --git a/lib/manager/npm/post-update/index.ts b/lib/manager/npm/post-update/index.ts index 0f224e373bdb712c30141a231513cf8cfbe4847e..f01a731ccc68f1f111fbe0e26bd6b87308eb7329 100644 --- a/lib/manager/npm/post-update/index.ts +++ b/lib/manager/npm/post-update/index.ts @@ -297,7 +297,7 @@ interface ArtifactError { interface UpdatedArtifcats { name: string; - contents: string; + contents: string | Buffer; } export interface WriteExistingFilesResult { @@ -480,7 +480,7 @@ export async function getAdditionalFiles( const localModified = upath.join(config.localDir, f); updatedArtifacts.push({ name: f, - contents: await fs.readFile(localModified, 'utf-8'), + contents: await fs.readFile(localModified), }); } } diff --git a/lib/platform/common.ts b/lib/platform/common.ts index e70e17fdbe7ead8a35f121ccb1b1938ba44202f0..e85a0b7c7ed14e11406b461d5d47e775f8f98c48 100644 --- a/lib/platform/common.ts +++ b/lib/platform/common.ts @@ -5,7 +5,7 @@ import { CommitFilesConfig } from './git/storage'; export interface FileData { name: string; - contents: string; + contents: string | Buffer; } export interface GotApiOptions { diff --git a/lib/platform/git/storage.ts b/lib/platform/git/storage.ts index 0ff4ee9b4603667c08872718d653dc38ae28f01e..a1e3ad1d49de069387e7adfd338e37573a79ac3a 100644 --- a/lib/platform/git/storage.ts +++ b/lib/platform/git/storage.ts @@ -31,7 +31,7 @@ export interface File { /** * file contents */ - contents: string; + contents: string | Buffer; } interface StorageConfig { @@ -504,10 +504,14 @@ export class Storage { await this._git.add(file.name); } else { fileNames.push(file.name); - await fs.outputFile( - join(this._cwd, file.name), - Buffer.from(file.contents) - ); + let contents; + // istanbul ignore else + if (typeof file.contents === 'string') { + contents = Buffer.from(file.contents); + } else { + contents = file.contents; + } + await fs.outputFile(join(this._cwd, file.name), contents); } } // istanbul ignore if diff --git a/lib/workers/branch/commit.ts b/lib/workers/branch/commit.ts index eeda22b7f8c17d12a1edf43a2defbf7872f8e36b..5fe2bffb324be8fe36f746716b6fb377ac8bd30a 100644 --- a/lib/workers/branch/commit.ts +++ b/lib/workers/branch/commit.ts @@ -20,7 +20,7 @@ export async function commitFilesToBranch( // istanbul ignore if if (is.nonEmptyArray(config.excludeCommitPaths)) { updatedFiles = updatedFiles.filter(f => { - const filename = f.name === '|delete|' ? f.contents : f.name; + const filename = f.name === '|delete|' ? f.contents.toString() : f.name; const matchesExcludePaths = config.excludeCommitPaths.some(path => minimatch(filename, path, { dot: true }) );