Skip to content

Commit

Permalink
Fix csv-parse implementation since major update
Browse files Browse the repository at this point in the history
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
  • Loading branch information
CrazyMax committed Apr 25, 2022
1 parent 2a96a96 commit b7ad32e
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 15 deletions.
3 changes: 3 additions & 0 deletions jest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,8 @@ module.exports = {
transform: {
'^.+\\.ts$': 'ts-jest'
},
moduleNameMapper: {
'^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs'
},
verbose: true
};
20 changes: 11 additions & 9 deletions src/context.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import csvparse from 'csv-parse/lib/sync';
import {parse} from 'csv-parse/sync';
import * as core from '@actions/core';
import {issueCommand} from '@actions/core/lib/command';
import * as fs from 'fs';
Expand Down Expand Up @@ -46,21 +46,23 @@ export function getInputList(name: string, ignoreComma?: boolean): string[] {
return res;
}

for (const output of csvparse(items, {
const records = parse(items, {
columns: false,
relax: true,
relaxQuotes: true,
comment: '#',
relaxColumnCount: true,
skipLinesWithEmptyValues: true
}) as Array<string[]>) {
if (output.length == 1) {
res.push(output[0]);
skipEmptyLines: true
});

for (const record of records as Array<string[]>) {
if (record.length == 1) {
res.push(record[0]);
continue;
} else if (!ignoreComma) {
res.push(...output);
res.push(...record);
continue;
}
res.push(output.join(','));
res.push(record.join(','));
}

return res.filter(item => item).map(pat => pat.trim());
Expand Down
6 changes: 3 additions & 3 deletions src/flavor.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {parse} from 'csv-parse/sync';
import * as core from '@actions/core';
import csvparse from 'csv-parse/lib/sync';

export interface Flavor {
latest: string;
Expand All @@ -19,9 +19,9 @@ export function Transform(inputs: string[]): Flavor {
};

for (const input of inputs) {
const fields = csvparse(input, {
const fields = parse(input, {
relaxColumnCount: true,
skipLinesWithEmptyValues: true
skipEmptyLines: true
})[0];
let onlatestfor = '';
for (const field of fields) {
Expand Down
6 changes: 3 additions & 3 deletions src/tag.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import csvparse from 'csv-parse/lib/sync';
import {parse} from 'csv-parse/sync';
import * as core from '@actions/core';

export enum Type {
Expand Down Expand Up @@ -86,9 +86,9 @@ export function Transform(inputs: string[]): Tag[] {
}

export function Parse(s: string): Tag {
const fields = csvparse(s, {
const fields = parse(s, {
relaxColumnCount: true,
skipLinesWithEmptyValues: true
skipEmptyLines: true
})[0];

const tag = new Tag();
Expand Down

0 comments on commit b7ad32e

Please sign in to comment.