Skip to content

Commit f52cc75

Browse files
committed
feat(models): validate plugin icons using portal-client package
1 parent dd0a180 commit f52cc75

File tree

17 files changed

+95
-22
lines changed

17 files changed

+95
-22
lines changed

esbuild.config.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,13 @@ esbuild.build({
1212
build.onEnd(result => {
1313
if (result.errors.length > 0) return;
1414

15-
execSync(
16-
`tsc --emitDeclarationOnly --project packages/${project}/tsconfig.lib.json --outDir dist`,
17-
);
15+
try {
16+
execSync(
17+
`tsc --emitDeclarationOnly --project packages/${project}/tsconfig.lib.json --outDir dist`,
18+
);
19+
} catch (err) {
20+
console.error(err);
21+
}
1822
});
1923
},
2024
},

package-lock.json

Lines changed: 62 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"node": ">=18.16"
1212
},
1313
"dependencies": {
14+
"@code-pushup/portal-client": "^0.1.2",
1415
"bundle-require": "^4.0.1",
1516
"chalk": "^5.3.0",
1617
"cliui": "^8.0.1",

packages/cli/src/lib/cli.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
import { CollectOptions } from '@quality-metrics/utils';
12
import { join } from 'path';
23
import { describe, expect, it } from 'vitest';
34
import { yargsCli } from './cli';
4-
import { middlewares } from './middlewares';
5-
import { options as defaultOptions } from './options';
6-
import { CollectOptions } from '@quality-metrics/core';
75
import { getDirname } from './implementation/helper.mock';
6+
import { middlewares } from './middlewares';
87
import { GlobalOptions } from './model';
8+
import { options as defaultOptions } from './options';
99

1010
const __dirname = getDirname(import.meta.url);
1111
const withDirName = (path: string) => join(__dirname, path);

packages/cli/src/lib/implementation/mock/cli-config.mock.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ module.exports = {
1616
},
1717
slug: 'execute-plugin',
1818
title: 'execute plugin',
19+
icon: 'javascript',
1920
},
2021
],
2122
};
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module.exports = {
2-
persist: { outputPath: 'cjs-out.json' },
2+
persist: { outputPath: 'tmp/cjs-out.json' },
33
plugins: [],
44
categories: [],
55
};
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
export default {
2-
persist: { outputPath: 'mjs-out.json' },
2+
persist: { outputPath: 'tmp/mjs-out.json' },
33
plugins: [],
44
categories: [],
55
};

packages/core/src/lib/execute-plugin.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import {
33
PluginOutput,
44
auditOutputsSchema,
55
} from '@quality-metrics/models';
6+
import { ProcessObserver, executeProcess } from '@quality-metrics/utils';
67
import { readFile } from 'fs/promises';
78
import { join } from 'path';
8-
import { executeProcess, ProcessObserver } from '@quality-metrics/utils';
99

1010
/**
1111
* Error thrown when plugin output is invalid.
@@ -48,7 +48,7 @@ export async function executePlugin(
4848
pluginConfig: PluginConfig,
4949
observer?: ProcessObserver,
5050
): Promise<PluginOutput> {
51-
const { slug, title, description, docsUrl, version, packageName } =
51+
const { slug, title, icon, description, docsUrl, version, packageName } =
5252
pluginConfig;
5353
const { args, command } = pluginConfig.runner;
5454

@@ -73,6 +73,7 @@ export async function executePlugin(
7373
packageName,
7474
slug,
7575
title,
76+
icon,
7677
description,
7778
docsUrl,
7879
date,

packages/core/src/lib/index.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { CollectOptions, collect } from './collect';
66
const baseOptions: CollectOptions = {
77
...mockCoreConfig(),
88
configPath: '',
9-
interactive: true,
109
verbose: false,
1110
};
1211

packages/models/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "@quality-metrics/models",
33
"version": "0.0.1",
44
"dependencies": {
5+
"@code-pushup/portal-client": "^0.1.2",
56
"zod": "^3.22.1"
67
}
78
}

0 commit comments

Comments
 (0)