Skip to content

Commit e4a6a92

Browse files
Copilotrchiodo
andcommitted
Fix linter and prettier formatting issues
Co-authored-by: rchiodo <19672699+rchiodo@users.noreply.github.com>
1 parent 4bafda0 commit e4a6a92

File tree

2 files changed

+21
-21
lines changed

2 files changed

+21
-21
lines changed

src/extension/common/variables/environment.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -95,23 +95,23 @@ export function parseEnvFile(lines: string | Buffer, baseVars?: EnvironmentVaria
9595
const globalVars = baseVars ? baseVars : {};
9696
const vars: EnvironmentVariables = {};
9797
const content = lines.toString();
98-
98+
9999
// State machine to handle multiline quoted values
100100
let currentLine = '';
101101
let inQuotes = false;
102102
let quoteChar = '';
103103
let afterEquals = false;
104-
104+
105105
for (let i = 0; i < content.length; i++) {
106106
const char = content[i];
107-
107+
108108
// Track if we've seen an '=' sign (indicating we're in the value part)
109109
if (char === '=' && !inQuotes) {
110110
afterEquals = true;
111111
currentLine += char;
112112
continue;
113113
}
114-
114+
115115
// Handle quote characters - need to check for proper escaping
116116
if ((char === '"' || char === "'") && afterEquals) {
117117
// Count consecutive backslashes before this quote
@@ -121,10 +121,10 @@ export function parseEnvFile(lines: string | Buffer, baseVars?: EnvironmentVaria
121121
numBackslashes++;
122122
j--;
123123
}
124-
124+
125125
// Quote is escaped if there's an odd number of backslashes before it
126126
const isEscaped = numBackslashes % 2 === 1;
127-
127+
128128
if (!isEscaped) {
129129
if (!inQuotes) {
130130
// Starting a quoted section
@@ -139,7 +139,7 @@ export function parseEnvFile(lines: string | Buffer, baseVars?: EnvironmentVaria
139139
currentLine += char;
140140
continue;
141141
}
142-
142+
143143
// Handle newlines
144144
if (char === '\n') {
145145
if (inQuotes) {
@@ -159,15 +159,15 @@ export function parseEnvFile(lines: string | Buffer, baseVars?: EnvironmentVaria
159159
currentLine += char;
160160
}
161161
}
162-
162+
163163
// Handle the last line if there's no trailing newline
164164
if (currentLine.trim() !== '') {
165165
const [name, value] = parseEnvLine(currentLine);
166166
if (name !== '') {
167167
vars[name] = substituteEnvVars(value, vars, globalVars);
168168
}
169169
}
170-
170+
171171
return vars;
172172
}
173173

src/test/unittest/common/environment.unit.test.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ suite('Environment File Parsing Tests', () => {
1010
test('Should parse simple environment variables', () => {
1111
const content = 'VAR1=value1\nVAR2=value2';
1212
const result = parseEnvFile(content);
13-
13+
1414
// eslint-disable-next-line @typescript-eslint/naming-convention
1515
expect(result).to.deep.equal({
1616
VAR1: 'value1',
@@ -21,57 +21,57 @@ suite('Environment File Parsing Tests', () => {
2121
test('Should parse single-quoted multiline values', () => {
2222
const content = "EXAMPLE_VAR='very long value\nwith new line , we need to get all the lines'";
2323
const result = parseEnvFile(content);
24-
24+
2525
expect(result.EXAMPLE_VAR).to.equal('very long value\nwith new line , we need to get all the lines');
2626
});
2727

2828
test('Should parse double-quoted multiline values', () => {
2929
const content = 'EXAMPLE_VAR="very long value\nwith new line , we need to get all the lines"';
3030
const result = parseEnvFile(content);
31-
31+
3232
expect(result.EXAMPLE_VAR).to.equal('very long value\nwith new line , we need to get all the lines');
3333
});
3434

3535
test('Should parse escaped newlines in single-quoted values', () => {
3636
const content = "VAR='line1\\nline2'";
3737
const result = parseEnvFile(content);
38-
38+
3939
expect(result.VAR).to.equal('line1\nline2');
4040
});
4141

4242
test('Should parse escaped newlines in double-quoted values', () => {
4343
const content = 'VAR="line1\\nline2"';
4444
const result = parseEnvFile(content);
45-
45+
4646
expect(result.VAR).to.equal('line1\nline2');
4747
});
4848

4949
test('Should handle multiple variables with multiline values', () => {
5050
const content = "VAR1='multiline\nvalue1'\nVAR2='multiline\nvalue2'";
5151
const result = parseEnvFile(content);
52-
52+
5353
expect(result.VAR1).to.equal('multiline\nvalue1');
5454
expect(result.VAR2).to.equal('multiline\nvalue2');
5555
});
5656

5757
test('Should handle unquoted values', () => {
5858
const content = 'VAR=value_without_quotes';
5959
const result = parseEnvFile(content);
60-
60+
6161
expect(result.VAR).to.equal('value_without_quotes');
6262
});
6363

6464
test('Should handle empty values', () => {
6565
const content = 'VAR=';
6666
const result = parseEnvFile(content);
67-
67+
6868
expect(result.VAR).to.equal('');
6969
});
7070

7171
test('Should ignore lines without equals sign', () => {
7272
const content = 'VAR1=value1\nInvalid line\nVAR2=value2';
7373
const result = parseEnvFile(content);
74-
74+
7575
// eslint-disable-next-line @typescript-eslint/naming-convention
7676
expect(result).to.deep.equal({
7777
VAR1: 'value1',
@@ -82,21 +82,21 @@ suite('Environment File Parsing Tests', () => {
8282
test('Should handle multiline value with multiple newlines', () => {
8383
const content = "VAR='line1\nline2\nline3\nline4'";
8484
const result = parseEnvFile(content);
85-
85+
8686
expect(result.VAR).to.equal('line1\nline2\nline3\nline4');
8787
});
8888

8989
test('Should parse environment file as Buffer', () => {
9090
const content = Buffer.from("VAR='multiline\nvalue'");
9191
const result = parseEnvFile(content);
92-
92+
9393
expect(result.VAR).to.equal('multiline\nvalue');
9494
});
9595

9696
test('Should handle whitespace around variable names and equals', () => {
9797
const content = " VAR1 = value1 \n VAR2='multiline\nvalue'";
9898
const result = parseEnvFile(content);
99-
99+
100100
expect(result.VAR1).to.equal('value1');
101101
expect(result.VAR2).to.equal('multiline\nvalue');
102102
});

0 commit comments

Comments
 (0)