Skip to content
This repository was archived by the owner on May 1, 2020. It is now read-only.

Commit 17e5f9a

Browse files
committed
chore(helper): add splitLineBreaks helper
1 parent 1bb4fd3 commit 17e5f9a

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

src/util/helpers.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,13 @@ export function getSystemInfo(userRootDir: string) {
6767
}
6868

6969

70+
export function splitLineBreaks(sourceText: string) {
71+
if (!sourceText) return [];
72+
sourceText = sourceText.replace(/\\r/g, '\n');
73+
return sourceText.split('\n');
74+
}
75+
76+
7077
export const objectAssign = (Object.assign) ? Object.assign : function (target: any, source: any) {
7178
const output = Object(target);
7279

src/util/logger-sass.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { BuildContext } from './interfaces';
22
import { Diagnostic, Logger, PrintLine } from './logger';
33
import { readFileSync } from 'fs';
44
import { SassError } from 'node-sass';
5+
import { splitLineBreaks } from './helpers';
56

67

78
export function runSassDiagnostics(context: BuildContext, sassError: SassError) {
@@ -28,7 +29,7 @@ export function runSassDiagnostics(context: BuildContext, sassError: SassError)
2829

2930
if (sassError.line > -1) {
3031
try {
31-
const srcLines = readFileSync(d.absFileName, 'utf8').replace(/\\r/g, '\n').split('\n');
32+
const srcLines = splitLineBreaks(readFileSync(d.absFileName, 'utf8'));
3233

3334
const errorLine: PrintLine = {
3435
lineIndex: sassError.line - 1,

src/util/logger-tslint.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { BuildContext } from './interfaces';
22
import { Diagnostic, Logger, PrintLine } from './logger';
3+
import { splitLineBreaks } from './helpers';
34

45

56
export function runTsLintDiagnostics(context: BuildContext, failures: RuleFailure[]) {
@@ -26,7 +27,7 @@ function loadDiagnostic(context: BuildContext, f: RuleFailure) {
2627
};
2728

2829
if (f.sourceFile && f.sourceFile.text) {
29-
const srcLines: string[] = f.sourceFile.text.replace(/\\r/g, '\n').split('\n');
30+
const srcLines = splitLineBreaks(f.sourceFile.text);
3031

3132
for (var i = start.line; i <= end.line; i++) {
3233
if (srcLines[i].trim().length) {

src/util/logger-typescript.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { BuildContext } from './interfaces';
22
import { Diagnostic, Logger, PrintLine } from './logger';
3+
import { splitLineBreaks } from './helpers';
34
import * as ts from 'typescript';
45

56

@@ -32,7 +33,7 @@ function loadDiagnostic(context: BuildContext, tsDiagnostic: ts.Diagnostic) {
3233
d.absFileName = tsDiagnostic.file.fileName;
3334
d.relFileName = Logger.formatFileName(context.rootDir, d.absFileName);
3435

35-
const srcLines = tsDiagnostic.file.getText().replace(/\\r/g, '\n').split('\n');
36+
const srcLines = splitLineBreaks(tsDiagnostic.file.getText());
3637
const posData = tsDiagnostic.file.getLineAndCharacterOfPosition(tsDiagnostic.start);
3738

3839
const errorLine: PrintLine = {

0 commit comments

Comments
 (0)