@code-pushup/lighthouse-plugin 0.126.1 → 0.126.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-pushup/lighthouse-plugin",
3
- "version": "0.126.1",
3
+ "version": "0.126.3",
4
4
  "license": "MIT",
5
5
  "description": "Code PushUp plugin for measuring web performance and quality with Lighthouse 🔥",
6
6
  "homepage": "https://github.com/code-pushup/cli/tree/main/packages/plugin-lighthouse#readme",
@@ -36,8 +36,8 @@
36
36
  },
37
37
  "type": "module",
38
38
  "dependencies": {
39
- "@code-pushup/models": "0.126.1",
40
- "@code-pushup/utils": "0.126.1",
39
+ "@code-pushup/models": "0.126.3",
40
+ "@code-pushup/utils": "0.126.3",
41
41
  "ansis": "^3.3.0",
42
42
  "chrome-launcher": "^1.1.1",
43
43
  "lighthouse": "^12.0.0",
@@ -1,4 +1,4 @@
1
- import type { CategoryCodegenConfig, PluginAnswer } from '@code-pushup/models';
1
+ import type { CategoryCodegenConfig } from '@code-pushup/models';
2
2
  export declare const lighthouseSetupBinding: {
3
3
  slug: string;
4
4
  title: string;
@@ -19,7 +19,7 @@ export declare const lighthouseSetupBinding: {
19
19
  }[];
20
20
  default: string[];
21
21
  })[]>;
22
- generateConfig: (answers: Record<string, PluginAnswer>) => {
22
+ generateConfig: ({ answers }: import("@code-pushup/models").PluginCodegenInput) => {
23
23
  imports: {
24
24
  namedImports?: string[] | undefined;
25
25
  moduleSpecifier: string;
@@ -4,43 +4,32 @@ import { LIGHTHOUSE_GROUP_SLUGS, LIGHTHOUSE_PLUGIN_SLUG, LIGHTHOUSE_PLUGIN_TITLE
4
4
  const { name: PACKAGE_NAME } = createRequire(import.meta.url)('../../package.json');
5
5
  const DEFAULT_URL = 'http://localhost:4200';
6
6
  const PLUGIN_VAR = 'lhPlugin';
7
- const CATEGORY_TO_GROUP = {
8
- performance: 'performance',
9
- a11y: 'accessibility',
10
- 'best-practices': 'best-practices',
11
- seo: 'seo',
12
- };
13
7
  const CATEGORIES = [
14
8
  {
15
9
  slug: 'performance',
16
10
  title: 'Performance',
17
11
  description: 'Measure performance and find opportunities to speed up page loads.',
18
- refsExpression: `lighthouseGroupRefs(${PLUGIN_VAR}, 'performance')`,
12
+ group: 'performance',
19
13
  },
20
14
  {
21
15
  slug: 'a11y',
22
16
  title: 'Accessibility',
23
17
  description: 'Determine if all users access content and navigate your site effectively.',
24
- refsExpression: `lighthouseGroupRefs(${PLUGIN_VAR}, 'accessibility')`,
18
+ group: 'accessibility',
25
19
  },
26
20
  {
27
21
  slug: 'best-practices',
28
22
  title: 'Best Practices',
29
23
  description: 'Improve code health of your web page following these best practices.',
30
- refsExpression: `lighthouseGroupRefs(${PLUGIN_VAR}, 'best-practices')`,
24
+ group: 'best-practices',
31
25
  },
32
26
  {
33
27
  slug: 'seo',
34
28
  title: 'SEO',
35
29
  description: 'Ensure that your page is optimized for search engine results ranking.',
36
- refsExpression: `lighthouseGroupRefs(${PLUGIN_VAR}, 'seo')`,
30
+ group: 'seo',
37
31
  },
38
32
  ];
39
- const CATEGORY_CHOICES = CATEGORIES.map(({ slug, title }) => ({
40
- name: title,
41
- value: slug,
42
- }));
43
- const DEFAULT_CATEGORIES = CATEGORIES.map(({ slug }) => slug);
44
33
  export const lighthouseSetupBinding = {
45
34
  slug: LIGHTHOUSE_PLUGIN_SLUG,
46
35
  title: LIGHTHOUSE_PLUGIN_TITLE,
@@ -48,19 +37,22 @@ export const lighthouseSetupBinding = {
48
37
  prompts: async (_targetDir) => [
49
38
  {
50
39
  key: 'lighthouse.urls',
51
- message: 'Target URL(s) (comma-separated)',
40
+ message: 'Target URL(s) (comma-separated):',
52
41
  type: 'input',
53
42
  default: DEFAULT_URL,
54
43
  },
55
44
  {
56
45
  key: 'lighthouse.categories',
57
- message: 'Lighthouse categories',
46
+ message: 'Categories:',
58
47
  type: 'checkbox',
59
- choices: [...CATEGORY_CHOICES],
60
- default: [...DEFAULT_CATEGORIES],
48
+ choices: CATEGORIES.map(({ slug, title }) => ({
49
+ name: title,
50
+ value: slug,
51
+ })),
52
+ default: CATEGORIES.map(({ slug }) => slug),
61
53
  },
62
54
  ],
63
- generateConfig: (answers) => {
55
+ generateConfig: ({ answers }) => {
64
56
  const options = parseAnswers(answers);
65
57
  const hasCategories = options.categories.length > 0;
66
58
  const imports = [
@@ -96,23 +88,25 @@ function parseAnswers(answers) {
96
88
  }
97
89
  function formatPluginCall({ urls, categories }) {
98
90
  const formattedUrls = formatUrls(urls);
99
- const groups = categories.flatMap(slug => {
100
- const group = CATEGORY_TO_GROUP[slug];
101
- return group ? [group] : [];
102
- });
91
+ const groups = CATEGORIES.filter(({ slug }) => categories.includes(slug)).map(({ group }) => group);
103
92
  if (groups.length === 0 || groups.length === LIGHTHOUSE_GROUP_SLUGS.length) {
104
93
  return `lighthousePlugin(${formattedUrls})`;
105
94
  }
106
95
  const onlyGroups = groups.map(singleQuote).join(', ');
107
96
  return `lighthousePlugin(${formattedUrls}, { onlyGroups: [${onlyGroups}] })`;
108
97
  }
98
+ function createCategories({ categories, }) {
99
+ return CATEGORIES.filter(({ slug }) => categories.includes(slug)).map(({ slug, title, description, group }) => ({
100
+ slug,
101
+ title,
102
+ description,
103
+ refsExpression: `lighthouseGroupRefs(${PLUGIN_VAR}, ${singleQuote(group)})`,
104
+ }));
105
+ }
109
106
  function formatUrls([first, ...rest]) {
110
107
  if (rest.length === 0) {
111
108
  return singleQuote(first);
112
109
  }
113
110
  return `[${[first, ...rest].map(singleQuote).join(', ')}]`;
114
111
  }
115
- function createCategories({ categories, }) {
116
- return CATEGORIES.filter(({ slug }) => categories.includes(slug));
117
- }
118
112
  //# sourceMappingURL=binding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../../src/lib/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../../src/lib/binding.ts"],"names":[],"mappings":"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"}