copyright-header
Advanced tools
Comparing version 0.4.5 to 0.4.6
#!/usr/bin/env node | ||
"use strict"; | ||
/* Copyright (c) 2018-2019 Marco Stahl */ | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -11,2 +12,2 @@ // tslint:disable-next-line:no-var-requires | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwyQ0FBMkM7QUFDM0MsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2xELG1DQUFtQztBQUVuQyxNQUFNLFFBQVEsR0FBRyxZQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUUvQyxJQUFJLFFBQVEsRUFBRTtJQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Q0FDeEIifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLHlDQUF5Qzs7QUFFekMsMkNBQTJDO0FBQzNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUNsRCxtQ0FBbUM7QUFFbkMsTUFBTSxRQUFRLEdBQUcsWUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFFL0MsSUFBSSxRQUFRLEVBQUU7SUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCIn0= |
@@ -20,6 +20,8 @@ import { GitFileInfo } from './git'; | ||
declare function collectFiles(fileFilter: FileFilter): ReadonlyArray<string>; | ||
declare function updateCopyrightHeader(opts: ValidatedOptions, fileInfo: FileInfo, origFileContent: string): string; | ||
export declare const testExports: { | ||
collectFiles: typeof collectFiles; | ||
updateCopyrightHeader: typeof updateCopyrightHeader; | ||
useTodayAsYearDefault: typeof useTodayAsYearDefault; | ||
}; | ||
export {}; |
@@ -31,4 +31,5 @@ "use strict"; | ||
]; | ||
const COPYRIGHT_HEADER_REGEXP = /^\/\*[\s\S]*?Copyright[\s\S]*?\*\//; | ||
const COPYRIGHT_HEADER_REGEXP = /^(\s*)(\/\*[\s\S]*?Copyright[\s\S]*?\*\/)/; | ||
const FIND_YEARS_REGEXP = /\b20\d{2}\b|present/g; | ||
const HASHBANG_REGEXP = /^(#\!.*?\n)(.*)$/s; | ||
function ensureUpdatedCopyrightHeader(opts) { | ||
@@ -42,3 +43,3 @@ const files = collectFiles(opts); | ||
const newFileContent = updateCopyrightHeader(opts, fileInfo, fileContent); | ||
if (newFileContent !== fileContent) { | ||
if (!stringsEqual(newFileContent, fileContent)) { | ||
if (opts.fix) { | ||
@@ -57,2 +58,6 @@ console.log(`Update copyright header in ${fileInfo.filename}`); | ||
exports.ensureUpdatedCopyrightHeader = ensureUpdatedCopyrightHeader; | ||
// Compare strings ignoring whitespace | ||
function stringsEqual(a, b) { | ||
return a.replace(/\s+/g, ' ') === b.replace(/\s+/g, ' '); | ||
} | ||
function useTodayAsYearDefault(fileinfo) { | ||
@@ -112,3 +117,3 @@ return { | ||
} | ||
function updateCopyrightHeader(opts, fileInfo, fileContent) { | ||
function updateCopyrightHeader(opts, fileInfo, origFileContent) { | ||
const renderOpts = { | ||
@@ -120,14 +125,28 @@ fileInfo, | ||
}; | ||
let hashbang = ''; | ||
let fileContent = origFileContent; | ||
const hashbangMatch = origFileContent.match(HASHBANG_REGEXP); | ||
if (hashbangMatch) { | ||
hashbang = hashbangMatch[1]; | ||
fileContent = hashbangMatch[2]; | ||
} | ||
const headMatch = fileContent.match(COPYRIGHT_HEADER_REGEXP); | ||
if (headMatch) { | ||
return fileContent.replace(COPYRIGHT_HEADER_REGEXP, renderNewHeader(Object.assign(Object.assign({}, renderOpts), { currentHeader: headMatch[0] }))); | ||
const leadingWhitespace = headMatch[1]; | ||
fileContent = fileContent.replace(COPYRIGHT_HEADER_REGEXP, leadingWhitespace + | ||
renderNewHeader(Object.assign(Object.assign({}, renderOpts), { currentHeader: headMatch[2] }))); | ||
} | ||
else { | ||
return renderNewHeader(renderOpts) + '\n\n' + fileContent; | ||
fileContent = renderNewHeader(renderOpts) + '\n\n' + fileContent; | ||
if (hashbang) { | ||
hashbang += '\n'; | ||
} | ||
} | ||
return hashbang + fileContent; | ||
} | ||
exports.testExports = { | ||
collectFiles, | ||
updateCopyrightHeader, | ||
useTodayAsYearDefault | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weXJpZ2h0LWhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29weXJpZ2h0LWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUNBQXlDOzs7Ozs7Ozs7QUFFekMsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3QiwrQkFBcUU7QUFDckUsdURBQXlEO0FBR3pELE1BQU0sd0JBQXdCLEdBQTBCO0lBQ3RELElBQUk7SUFDSixJQUFJO0lBQ0osS0FBSztJQUNMLEtBQUs7SUFDTCxNQUFNO0lBQ04sSUFBSTtJQUNKLEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILElBQUk7SUFDSixLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxJQUFJO0NBQ0wsQ0FBQztBQUVGLE1BQU0sdUJBQXVCLEdBQUcsb0NBQW9DLENBQUM7QUFDckUsTUFBTSxpQkFBaUIsR0FBRyxzQkFBc0IsQ0FBQztBQW1CakQsU0FBZ0IsNEJBQTRCLENBQUMsSUFBc0I7SUFDakUsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sU0FBUyxHQUFlLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDMUMscUJBQXFCLENBQUMsd0JBQWtCLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0YsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXhCLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksUUFBUSxDQUFDLFFBQVEsTUFBTSxDQUFDLENBQUM7UUFDakQsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxRSxJQUFJLGNBQWMsS0FBSyxXQUFXLEVBQUU7WUFDbEMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7YUFDckQ7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ3JFLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3RDO1NBQ0Y7S0FDRjtJQUVELE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBdkJELG9FQXVCQztBQUVELFNBQVMscUJBQXFCLENBQUMsUUFBcUI7SUFDbEQsT0FBTztRQUNMLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtRQUMzQixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtRQUM3RCxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtLQUM5RCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLFVBQXNCO0lBQzFDLE1BQU0sUUFBUSxHQUFHLGlCQUFXLEVBQUUsQ0FBQztJQUUvQixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDekMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUV0RixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDekMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXZGLE9BQU8sUUFBUTtTQUNaLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQztTQUNyQixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakIsd0JBQXdCLENBQUMsUUFBUSxDQUMvQixJQUFJO1NBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNqQixXQUFXLEVBQUU7U0FDYixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ1osQ0FDRixDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWEsRUFBRSxjQUE2QjtJQUM5RCxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7U0FBTSxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7UUFDdkMsT0FBTyxTQUFTLENBQUM7S0FDbEI7U0FBTTtRQUNMLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztLQUMvQjtBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUN4QixRQUFrQixFQUNsQixhQUFpQyxFQUNqQyxxQkFBOEI7SUFFOUIsTUFBTSxjQUFjLEdBQUcsYUFBYSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvRSxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMvQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLEVBQUUsRUFBRSxxQkFBcUIsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakYsQ0FBQztLQUNIO1NBQU07UUFDTCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLHFCQUFxQixJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUMxRjtBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQU14QjtJQUNDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUN0QyxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxxQkFBcUIsQ0FDM0IsQ0FBQztJQUNGLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUFDLEVBQUUsSUFBSSxjQUFjLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0YsT0FBTyxzQ0FBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ3pDLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNwQyxFQUFFLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3hELGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtLQUN0QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsV0FBbUI7SUFFbkIsTUFBTSxVQUFVLEdBQUc7UUFDakIsUUFBUTtRQUNSLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUN2QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7UUFDckMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtLQUNsRCxDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzdELElBQUksU0FBUyxFQUFFO1FBQ2IsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUN4Qix1QkFBdUIsRUFDdkIsZUFBZSxpQ0FDVixVQUFVLEtBQ2IsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFDM0IsQ0FDSCxDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU8sZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxXQUFXLENBQUM7S0FDM0Q7QUFDSCxDQUFDO0FBRVksUUFBQSxXQUFXLEdBQUc7SUFDekIsWUFBWTtJQUNaLHFCQUFxQjtDQUN0QixDQUFDIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weXJpZ2h0LWhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29weXJpZ2h0LWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUNBQXlDOzs7Ozs7Ozs7QUFFekMsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3QiwrQkFBcUU7QUFDckUsdURBQXlEO0FBR3pELE1BQU0sd0JBQXdCLEdBQTBCO0lBQ3RELElBQUk7SUFDSixJQUFJO0lBQ0osS0FBSztJQUNMLEtBQUs7SUFDTCxNQUFNO0lBQ04sSUFBSTtJQUNKLEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILElBQUk7SUFDSixLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxJQUFJO0NBQ0wsQ0FBQztBQUVGLE1BQU0sdUJBQXVCLEdBQUcsMkNBQTJDLENBQUM7QUFDNUUsTUFBTSxpQkFBaUIsR0FBRyxzQkFBc0IsQ0FBQztBQUNqRCxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQztBQW1CNUMsU0FBZ0IsNEJBQTRCLENBQUMsSUFBc0I7SUFDakUsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sU0FBUyxHQUFlLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDMUMscUJBQXFCLENBQUMsd0JBQWtCLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0YsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXhCLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksUUFBUSxDQUFDLFFBQVEsTUFBTSxDQUFDLENBQUM7UUFDakQsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsRUFBRTtZQUM5QyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ2hFLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQzthQUNyRDtpQkFBTTtnQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDckUsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEM7U0FDRjtLQUNGO0lBRUQsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQzFCLENBQUM7QUF2QkQsb0VBdUJDO0FBRUQsc0NBQXNDO0FBQ3RDLFNBQVMsWUFBWSxDQUFDLENBQVMsRUFBRSxDQUFTO0lBQ3hDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsUUFBcUI7SUFDbEQsT0FBTztRQUNMLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtRQUMzQixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtRQUM3RCxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtLQUM5RCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLFVBQXNCO0lBQzFDLE1BQU0sUUFBUSxHQUFHLGlCQUFXLEVBQUUsQ0FBQztJQUUvQixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDekMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUV0RixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDekMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXZGLE9BQU8sUUFBUTtTQUNaLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQztTQUNyQixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakIsd0JBQXdCLENBQUMsUUFBUSxDQUMvQixJQUFJO1NBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNqQixXQUFXLEVBQUU7U0FDYixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ1osQ0FDRixDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWEsRUFBRSxjQUE2QjtJQUM5RCxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7U0FBTSxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7UUFDdkMsT0FBTyxTQUFTLENBQUM7S0FDbEI7U0FBTTtRQUNMLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztLQUMvQjtBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUN4QixRQUFrQixFQUNsQixhQUFpQyxFQUNqQyxxQkFBOEI7SUFFOUIsTUFBTSxjQUFjLEdBQUcsYUFBYSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvRSxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMvQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLEVBQUUsRUFBRSxxQkFBcUIsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakYsQ0FBQztLQUNIO1NBQU07UUFDTCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLHFCQUFxQixJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUMxRjtBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQU14QjtJQUNDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUN0QyxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxxQkFBcUIsQ0FDM0IsQ0FBQztJQUNGLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUFDLEVBQUUsSUFBSSxjQUFjLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0YsT0FBTyxzQ0FBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ3pDLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNwQyxFQUFFLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3hELGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtLQUN0QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsZUFBdUI7SUFFdkIsTUFBTSxVQUFVLEdBQUc7UUFDakIsUUFBUTtRQUNSLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUN2QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7UUFDckMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtLQUNsRCxDQUFDO0lBQ0YsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLElBQUksV0FBVyxHQUFHLGVBQWUsQ0FBQztJQUVsQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdELElBQUksYUFBYSxFQUFFO1FBQ2pCLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsV0FBVyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNoQztJQUVELE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM3RCxJQUFJLFNBQVMsRUFBRTtRQUNiLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUMvQix1QkFBdUIsRUFDdkIsaUJBQWlCO1lBQ2YsZUFBZSxpQ0FDVixVQUFVLEtBQ2IsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFDM0IsQ0FDTCxDQUFDO0tBQ0g7U0FBTTtRQUNMLFdBQVcsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUNqRSxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsSUFBSSxJQUFJLENBQUM7U0FDbEI7S0FDRjtJQUVELE9BQU8sUUFBUSxHQUFHLFdBQVcsQ0FBQztBQUNoQyxDQUFDO0FBRVksUUFBQSxXQUFXLEdBQUc7SUFDekIsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQixxQkFBcUI7Q0FDdEIsQ0FBQyJ9 |
@@ -10,3 +10,4 @@ "use strict"; | ||
const copyright_header_1 = require("./copyright-header"); | ||
const { collectFiles, useTodayAsYearDefault } = copyright_header_1.testExports; | ||
const templates_1 = require("./templates"); | ||
const { collectFiles, updateCopyrightHeader, useTodayAsYearDefault } = copyright_header_1.testExports; | ||
const collectFilesTest = (t, include, expected) => { | ||
@@ -39,2 +40,31 @@ t.deepEqual(collectFiles({ include, exclude: [] }), expected); | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weXJpZ2h0LWhlYWRlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb3B5cmlnaHQtaGVhZGVyLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlDQUF5Qzs7Ozs7QUFFekMsNERBQTREO0FBRTVELDhDQUE2QztBQUM3Qyx5REFBaUQ7QUFFakQsTUFBTSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLDhCQUFXLENBQUM7QUFFNUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixDQUE0QixFQUM1QixPQUE4QixFQUM5QixRQUErQixFQUMvQixFQUFFO0lBQ0YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDaEUsQ0FBQyxDQUFDO0FBRUYsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLENBQ3ZCLGFBQXFCLEVBQ3JCLE9BQThCLEVBQzlCLFFBQStCLEVBQy9CLEVBQUUsQ0FBQyxrQkFBa0IsYUFBYSxLQUFLLE9BQU8sT0FBTyxRQUFRLEVBQUUsQ0FBQztBQUVsRSxNQUFNLG1CQUFtQixHQUEwQjtJQUNqRCxnRUFBZ0U7SUFDaEUsNkRBQTZEO0lBQzdELHFEQUFxRDtJQUNyRCw4QkFBOEI7SUFDOUIsOEJBQThCO0NBQy9CLENBQUM7QUFFRixhQUFJLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBRTdFLGFBQUksQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFekUsYUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDakUsQ0FBQyxDQUFDLENBQUM7QUFFSCxhQUFJLENBQUMsbURBQW1ELEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FDVCxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQy9ELG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNwRCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSCxhQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDaEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDeEQsUUFBUSxFQUFFLE9BQU87UUFDakIsV0FBVyxFQUFFLFFBQVE7UUFDckIsV0FBVyxFQUFFLFFBQVE7S0FDdEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ== | ||
const testOpts = { | ||
copyrightHolder: 'Test User, Inc.', | ||
fix: true, | ||
include: ['test/file.ts'], | ||
exclude: [], | ||
template: templates_1.TEMPLATES.minimal | ||
}; | ||
const testFileInfo = { | ||
filename: 'test/file.ts', | ||
createdYear: 2002, | ||
updatedYear: 2017 | ||
}; | ||
ava_1.default('hashbang', t => { | ||
const origFile = ['#!/bin/sh -some -options', 'File content', 'is here', ''].join('\n'); | ||
const expected = [ | ||
'#!/bin/sh -some -options', | ||
'', | ||
'/* Copyright (c) 2002-2017 Test User, Inc. */', | ||
'', | ||
'File content', | ||
'is here', | ||
'' | ||
].join('\n'); | ||
let updated = updateCopyrightHeader(testOpts, testFileInfo, origFile); | ||
t.is(updated, expected); | ||
// Run a second time to ensure idempotence | ||
updated = updateCopyrightHeader(testOpts, testFileInfo, updated); | ||
t.is(updated, expected); | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weXJpZ2h0LWhlYWRlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb3B5cmlnaHQtaGVhZGVyLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlDQUF5Qzs7Ozs7QUFFekMsNERBQTREO0FBRTVELDhDQUE2QztBQUM3Qyx5REFBbUU7QUFDbkUsMkNBQXdDO0FBR3hDLE1BQU0sRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsR0FBRyw4QkFBVyxDQUFDO0FBRW5GLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsQ0FBNEIsRUFDNUIsT0FBOEIsRUFDOUIsUUFBK0IsRUFDL0IsRUFBRTtJQUNGLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQztBQUVGLGdCQUFnQixDQUFDLEtBQUssR0FBRyxDQUN2QixhQUFxQixFQUNyQixPQUE4QixFQUM5QixRQUErQixFQUMvQixFQUFFLENBQUMsa0JBQWtCLGFBQWEsS0FBSyxPQUFPLE9BQU8sUUFBUSxFQUFFLENBQUM7QUFFbEUsTUFBTSxtQkFBbUIsR0FBMEI7SUFDakQsZ0VBQWdFO0lBQ2hFLDZEQUE2RDtJQUM3RCxxREFBcUQ7SUFDckQsOEJBQThCO0lBQzlCLDhCQUE4QjtDQUMvQixDQUFDO0FBRUYsYUFBSSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUU3RSxhQUFJLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRXpFLGFBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQyxDQUFDO0FBRUgsYUFBSSxDQUFDLG1EQUFtRCxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQzVELENBQUMsQ0FBQyxTQUFTLENBQ1QsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUMvRCxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsYUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO1FBQ3hELFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFdBQVcsRUFBRSxRQUFRO0tBQ3RCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQXFCO0lBQ2pDLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsR0FBRyxFQUFFLElBQUk7SUFDVCxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDekIsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUscUJBQVMsQ0FBQyxPQUFPO0NBQzVCLENBQUM7QUFFRixNQUFNLFlBQVksR0FBYTtJQUM3QixRQUFRLEVBQUUsY0FBYztJQUN4QixXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFDO0FBRUYsYUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUNuQixNQUFNLFFBQVEsR0FBRyxDQUFDLDBCQUEwQixFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hGLE1BQU0sUUFBUSxHQUFHO1FBQ2YsMEJBQTBCO1FBQzFCLEVBQUU7UUFDRiwrQ0FBK0M7UUFDL0MsRUFBRTtRQUNGLGNBQWM7UUFDZCxTQUFTO1FBQ1QsRUFBRTtLQUNILENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWIsSUFBSSxPQUFPLEdBQUcscUJBQXFCLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUV4QiwwQ0FBMEM7SUFDMUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMifQ== |
@@ -20,6 +20,8 @@ import { GitFileInfo } from './git'; | ||
declare function collectFiles(fileFilter: FileFilter): ReadonlyArray<string>; | ||
declare function updateCopyrightHeader(opts: ValidatedOptions, fileInfo: FileInfo, origFileContent: string): string; | ||
export declare const testExports: { | ||
collectFiles: typeof collectFiles; | ||
updateCopyrightHeader: typeof updateCopyrightHeader; | ||
useTodayAsYearDefault: typeof useTodayAsYearDefault; | ||
}; | ||
export {}; |
@@ -22,4 +22,5 @@ /* Copyright (c) 2018-2019 Marco Stahl */ | ||
]; | ||
const COPYRIGHT_HEADER_REGEXP = /^\/\*[\s\S]*?Copyright[\s\S]*?\*\//; | ||
const COPYRIGHT_HEADER_REGEXP = /^(\s*)(\/\*[\s\S]*?Copyright[\s\S]*?\*\/)/; | ||
const FIND_YEARS_REGEXP = /\b20\d{2}\b|present/g; | ||
const HASHBANG_REGEXP = /^(#\!.*?\n)(.*)$/s; | ||
export function ensureUpdatedCopyrightHeader(opts) { | ||
@@ -33,3 +34,3 @@ const files = collectFiles(opts); | ||
const newFileContent = updateCopyrightHeader(opts, fileInfo, fileContent); | ||
if (newFileContent !== fileContent) { | ||
if (!stringsEqual(newFileContent, fileContent)) { | ||
if (opts.fix) { | ||
@@ -47,2 +48,6 @@ console.log(`Update copyright header in ${fileInfo.filename}`); | ||
} | ||
// Compare strings ignoring whitespace | ||
function stringsEqual(a, b) { | ||
return a.replace(/\s+/g, ' ') === b.replace(/\s+/g, ' '); | ||
} | ||
function useTodayAsYearDefault(fileinfo) { | ||
@@ -102,3 +107,3 @@ return { | ||
} | ||
function updateCopyrightHeader(opts, fileInfo, fileContent) { | ||
function updateCopyrightHeader(opts, fileInfo, origFileContent) { | ||
const renderOpts = { | ||
@@ -110,17 +115,31 @@ fileInfo, | ||
}; | ||
let hashbang = ''; | ||
let fileContent = origFileContent; | ||
const hashbangMatch = origFileContent.match(HASHBANG_REGEXP); | ||
if (hashbangMatch) { | ||
hashbang = hashbangMatch[1]; | ||
fileContent = hashbangMatch[2]; | ||
} | ||
const headMatch = fileContent.match(COPYRIGHT_HEADER_REGEXP); | ||
if (headMatch) { | ||
return fileContent.replace(COPYRIGHT_HEADER_REGEXP, renderNewHeader({ | ||
...renderOpts, | ||
currentHeader: headMatch[0] | ||
})); | ||
const leadingWhitespace = headMatch[1]; | ||
fileContent = fileContent.replace(COPYRIGHT_HEADER_REGEXP, leadingWhitespace + | ||
renderNewHeader({ | ||
...renderOpts, | ||
currentHeader: headMatch[2] | ||
})); | ||
} | ||
else { | ||
return renderNewHeader(renderOpts) + '\n\n' + fileContent; | ||
fileContent = renderNewHeader(renderOpts) + '\n\n' + fileContent; | ||
if (hashbang) { | ||
hashbang += '\n'; | ||
} | ||
} | ||
return hashbang + fileContent; | ||
} | ||
export const testExports = { | ||
collectFiles, | ||
updateCopyrightHeader, | ||
useTodayAsYearDefault | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weXJpZ2h0LWhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29weXJpZ2h0LWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFFekMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBZSxNQUFNLE9BQU8sQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUd6RCxNQUFNLHdCQUF3QixHQUEwQjtJQUN0RCxJQUFJO0lBQ0osSUFBSTtJQUNKLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLElBQUk7SUFDSixHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxJQUFJO0lBQ0osS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsSUFBSTtDQUNMLENBQUM7QUFFRixNQUFNLHVCQUF1QixHQUFHLG9DQUFvQyxDQUFDO0FBQ3JFLE1BQU0saUJBQWlCLEdBQUcsc0JBQXNCLENBQUM7QUFtQmpELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxJQUFzQjtJQUNqRSxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsTUFBTSxTQUFTLEdBQWUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMxQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFDRixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7SUFFeEIsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUU7UUFDaEMsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxRQUFRLENBQUMsUUFBUSxNQUFNLENBQUMsQ0FBQztRQUNqRCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzFFLElBQUksY0FBYyxLQUFLLFdBQVcsRUFBRTtZQUNsQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ2hFLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQzthQUNyRDtpQkFBTTtnQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDckUsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEM7U0FDRjtLQUNGO0lBRUQsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQzFCLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFFBQXFCO0lBQ2xELE9BQU87UUFDTCxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDM0IsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7UUFDN0QsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7S0FDOUQsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxVQUFzQjtJQUMxQyxNQUFNLFFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUUvQixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDekMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUV0RixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDekMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXZGLE9BQU8sUUFBUTtTQUNaLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQztTQUNyQixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakIsd0JBQXdCLENBQUMsUUFBUSxDQUMvQixJQUFJO1NBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNqQixXQUFXLEVBQUU7U0FDYixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ1osQ0FDRixDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWEsRUFBRSxjQUE2QjtJQUM5RCxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7U0FBTSxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7UUFDdkMsT0FBTyxTQUFTLENBQUM7S0FDbEI7U0FBTTtRQUNMLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztLQUMvQjtBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUN4QixRQUFrQixFQUNsQixhQUFpQyxFQUNqQyxxQkFBOEI7SUFFOUIsTUFBTSxjQUFjLEdBQUcsYUFBYSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvRSxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMvQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLEVBQUUsRUFBRSxxQkFBcUIsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakYsQ0FBQztLQUNIO1NBQU07UUFDTCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLHFCQUFxQixJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUMxRjtBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQU14QjtJQUNDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUN0QyxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxxQkFBcUIsQ0FDM0IsQ0FBQztJQUNGLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUFDLEVBQUUsSUFBSSxjQUFjLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0YsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ3pDLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNwQyxFQUFFLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3hELGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtLQUN0QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsV0FBbUI7SUFFbkIsTUFBTSxVQUFVLEdBQUc7UUFDakIsUUFBUTtRQUNSLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUN2QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7UUFDckMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtLQUNsRCxDQUFDO0lBRUYsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzdELElBQUksU0FBUyxFQUFFO1FBQ2IsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUN4Qix1QkFBdUIsRUFDdkIsZUFBZSxDQUFDO1lBQ2QsR0FBRyxVQUFVO1lBQ2IsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDNUIsQ0FBQyxDQUNILENBQUM7S0FDSDtTQUFNO1FBQ0wsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxHQUFHLFdBQVcsQ0FBQztLQUMzRDtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsWUFBWTtJQUNaLHFCQUFxQjtDQUN0QixDQUFDIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weXJpZ2h0LWhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29weXJpZ2h0LWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFFekMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBZSxNQUFNLE9BQU8sQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUd6RCxNQUFNLHdCQUF3QixHQUEwQjtJQUN0RCxJQUFJO0lBQ0osSUFBSTtJQUNKLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLElBQUk7SUFDSixHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxJQUFJO0lBQ0osS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsSUFBSTtDQUNMLENBQUM7QUFFRixNQUFNLHVCQUF1QixHQUFHLDJDQUEyQyxDQUFDO0FBQzVFLE1BQU0saUJBQWlCLEdBQUcsc0JBQXNCLENBQUM7QUFDakQsTUFBTSxlQUFlLEdBQUcsbUJBQW1CLENBQUM7QUFtQjVDLE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxJQUFzQjtJQUNqRSxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsTUFBTSxTQUFTLEdBQWUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMxQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFDRixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7SUFFeEIsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUU7UUFDaEMsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxRQUFRLENBQUMsUUFBUSxNQUFNLENBQUMsQ0FBQztRQUNqRCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxFQUFFO1lBQzlDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDWixPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDaEUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQ3JEO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRSxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0QztTQUNGO0tBQ0Y7SUFFRCxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDMUIsQ0FBQztBQUVELHNDQUFzQztBQUN0QyxTQUFTLFlBQVksQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUN4QyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFFBQXFCO0lBQ2xELE9BQU87UUFDTCxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDM0IsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7UUFDN0QsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7S0FDOUQsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxVQUFzQjtJQUMxQyxNQUFNLFFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUUvQixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDekMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUV0RixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDekMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXZGLE9BQU8sUUFBUTtTQUNaLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQztTQUNyQixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakIsd0JBQXdCLENBQUMsUUFBUSxDQUMvQixJQUFJO1NBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNqQixXQUFXLEVBQUU7U0FDYixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ1osQ0FDRixDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWEsRUFBRSxjQUE2QjtJQUM5RCxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7U0FBTSxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7UUFDdkMsT0FBTyxTQUFTLENBQUM7S0FDbEI7U0FBTTtRQUNMLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztLQUMvQjtBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUN4QixRQUFrQixFQUNsQixhQUFpQyxFQUNqQyxxQkFBOEI7SUFFOUIsTUFBTSxjQUFjLEdBQUcsYUFBYSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvRSxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMvQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLEVBQUUsRUFBRSxxQkFBcUIsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakYsQ0FBQztLQUNIO1NBQU07UUFDTCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLHFCQUFxQixJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUMxRjtBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQU14QjtJQUNDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUN0QyxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxxQkFBcUIsQ0FDM0IsQ0FBQztJQUNGLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUFDLEVBQUUsSUFBSSxjQUFjLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0YsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ3pDLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNwQyxFQUFFLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3hELGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtLQUN0QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsZUFBdUI7SUFFdkIsTUFBTSxVQUFVLEdBQUc7UUFDakIsUUFBUTtRQUNSLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUN2QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7UUFDckMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtLQUNsRCxDQUFDO0lBQ0YsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLElBQUksV0FBVyxHQUFHLGVBQWUsQ0FBQztJQUVsQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdELElBQUksYUFBYSxFQUFFO1FBQ2pCLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsV0FBVyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNoQztJQUVELE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM3RCxJQUFJLFNBQVMsRUFBRTtRQUNiLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUMvQix1QkFBdUIsRUFDdkIsaUJBQWlCO1lBQ2YsZUFBZSxDQUFDO2dCQUNkLEdBQUcsVUFBVTtnQkFDYixhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUM1QixDQUFDLENBQ0wsQ0FBQztLQUNIO1NBQU07UUFDTCxXQUFXLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDakUsSUFBSSxRQUFRLEVBQUU7WUFDWixRQUFRLElBQUksSUFBSSxDQUFDO1NBQ2xCO0tBQ0Y7SUFFRCxPQUFPLFFBQVEsR0FBRyxXQUFXLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLHFCQUFxQjtDQUN0QixDQUFDIn0= |
@@ -5,3 +5,4 @@ /* Copyright (c) 2018-2019 Marco Stahl */ | ||
import { testExports } from './copyright-header'; | ||
const { collectFiles, useTodayAsYearDefault } = testExports; | ||
import { TEMPLATES } from './templates'; | ||
const { collectFiles, updateCopyrightHeader, useTodayAsYearDefault } = testExports; | ||
const collectFilesTest = (t, include, expected) => { | ||
@@ -34,2 +35,31 @@ t.deepEqual(collectFiles({ include, exclude: [] }), expected); | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weXJpZ2h0LWhlYWRlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb3B5cmlnaHQtaGVhZGVyLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBRXpDLDREQUE0RDtBQUU1RCxPQUFPLElBQTBCLE1BQU0sS0FBSyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxNQUFNLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsV0FBVyxDQUFDO0FBRTVELE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsQ0FBNEIsRUFDNUIsT0FBOEIsRUFDOUIsUUFBK0IsRUFDL0IsRUFBRTtJQUNGLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQztBQUVGLGdCQUFnQixDQUFDLEtBQUssR0FBRyxDQUN2QixhQUFxQixFQUNyQixPQUE4QixFQUM5QixRQUErQixFQUMvQixFQUFFLENBQUMsa0JBQWtCLGFBQWEsS0FBSyxPQUFPLE9BQU8sUUFBUSxFQUFFLENBQUM7QUFFbEUsTUFBTSxtQkFBbUIsR0FBMEI7SUFDakQsZ0VBQWdFO0lBQ2hFLDZEQUE2RDtJQUM3RCxxREFBcUQ7SUFDckQsOEJBQThCO0lBQzlCLDhCQUE4QjtDQUMvQixDQUFDO0FBRUYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUU3RSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRXpFLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLG1EQUFtRCxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQzVELENBQUMsQ0FBQyxTQUFTLENBQ1QsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUMvRCxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO1FBQ3hELFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFdBQVcsRUFBRSxRQUFRO0tBQ3RCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0= | ||
const testOpts = { | ||
copyrightHolder: 'Test User, Inc.', | ||
fix: true, | ||
include: ['test/file.ts'], | ||
exclude: [], | ||
template: TEMPLATES.minimal | ||
}; | ||
const testFileInfo = { | ||
filename: 'test/file.ts', | ||
createdYear: 2002, | ||
updatedYear: 2017 | ||
}; | ||
test('hashbang', t => { | ||
const origFile = ['#!/bin/sh -some -options', 'File content', 'is here', ''].join('\n'); | ||
const expected = [ | ||
'#!/bin/sh -some -options', | ||
'', | ||
'/* Copyright (c) 2002-2017 Test User, Inc. */', | ||
'', | ||
'File content', | ||
'is here', | ||
'' | ||
].join('\n'); | ||
let updated = updateCopyrightHeader(testOpts, testFileInfo, origFile); | ||
t.is(updated, expected); | ||
// Run a second time to ensure idempotence | ||
updated = updateCopyrightHeader(testOpts, testFileInfo, updated); | ||
t.is(updated, expected); | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weXJpZ2h0LWhlYWRlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb3B5cmlnaHQtaGVhZGVyLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBRXpDLDREQUE0RDtBQUU1RCxPQUFPLElBQTBCLE1BQU0sS0FBSyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQW9CLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxNQUFNLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLEdBQUcsV0FBVyxDQUFDO0FBRW5GLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsQ0FBNEIsRUFDNUIsT0FBOEIsRUFDOUIsUUFBK0IsRUFDL0IsRUFBRTtJQUNGLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQztBQUVGLGdCQUFnQixDQUFDLEtBQUssR0FBRyxDQUN2QixhQUFxQixFQUNyQixPQUE4QixFQUM5QixRQUErQixFQUMvQixFQUFFLENBQUMsa0JBQWtCLGFBQWEsS0FBSyxPQUFPLE9BQU8sUUFBUSxFQUFFLENBQUM7QUFFbEUsTUFBTSxtQkFBbUIsR0FBMEI7SUFDakQsZ0VBQWdFO0lBQ2hFLDZEQUE2RDtJQUM3RCxxREFBcUQ7SUFDckQsOEJBQThCO0lBQzlCLDhCQUE4QjtDQUMvQixDQUFDO0FBRUYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUU3RSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRXpFLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLG1EQUFtRCxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQzVELENBQUMsQ0FBQyxTQUFTLENBQ1QsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUMvRCxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO1FBQ3hELFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFdBQVcsRUFBRSxRQUFRO0tBQ3RCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQXFCO0lBQ2pDLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsR0FBRyxFQUFFLElBQUk7SUFDVCxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDekIsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsU0FBUyxDQUFDLE9BQU87Q0FDNUIsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFhO0lBQzdCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ25CLE1BQU0sUUFBUSxHQUFHLENBQUMsMEJBQTBCLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEYsTUFBTSxRQUFRLEdBQUc7UUFDZiwwQkFBMEI7UUFDMUIsRUFBRTtRQUNGLCtDQUErQztRQUMvQyxFQUFFO1FBQ0YsY0FBYztRQUNkLFNBQVM7UUFDVCxFQUFFO0tBQ0gsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFYixJQUFJLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXhCLDBDQUEwQztJQUMxQyxPQUFPLEdBQUcscUJBQXFCLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQyJ9 |
@@ -5,2 +5,9 @@ # Changelog | ||
### [0.4.6](https://github.com/shybyte/copyright-header/compare/v0.4.5...v0.4.6) (2019-08-30) | ||
### Bug Fixes | ||
* Insert header after hashbang line ([9814924](https://github.com/shybyte/copyright-header/commit/9814924)) | ||
### [0.4.5](https://github.com/shybyte/copyright-header/compare/v0.4.4...v0.4.5) (2019-08-29) | ||
@@ -7,0 +14,0 @@ |
{ | ||
"name": "copyright-header", | ||
"version": "0.4.5", | ||
"version": "0.4.6", | ||
"description": "Validate, add and update copyright headers automatically, based on the git history.", | ||
@@ -25,7 +25,7 @@ "bin": { | ||
"fix:tslint": "tslint --fix --project .", | ||
"fix:copyright": "node build/main/cli.js --fix --copyrightHolder \"Marco Stahl\" --include src --exclude \"src/cli.ts\"", | ||
"fix:copyright": "node build/main/cli.js --fix --copyrightHolder \"Marco Stahl\" --include src", | ||
"test": "run-s build test:*", | ||
"test:lint": "tslint --project . && prettier \"src/**/*.ts\" --list-different", | ||
"test:unit": "nyc --silent ava", | ||
"test:copyright": "node build/main/cli.js --copyrightHolder \"Marco Stahl\" --include src --exclude \"src/cli.ts\"", | ||
"test:copyright": "node build/main/cli.js --copyrightHolder \"Marco Stahl\" --include src", | ||
"watch": "run-s clean build:main && run-p \"build:main -- -w\" \"test:unit -- --watch\"", | ||
@@ -32,0 +32,0 @@ "cov": "run-s build test:unit cov:html && opn coverage/index.html", |
106488
1232