@code-pushup/core 0.8.10 → 0.8.11
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/index.js +98 -73
- package/package.json +1 -1
- package/src/lib/implementation/json-to-gql.d.ts +3 -3
package/index.js
CHANGED
|
@@ -43,6 +43,46 @@ function errorItems(items, transform = (items2) => items2.join(", ")) {
|
|
|
43
43
|
function exists(value) {
|
|
44
44
|
return value != null;
|
|
45
45
|
}
|
|
46
|
+
function getMissingRefsForCategories(categories, plugins) {
|
|
47
|
+
const missingRefs = [];
|
|
48
|
+
const auditRefsFromCategory = categories.flatMap(
|
|
49
|
+
({ refs }) => refs.filter(({ type }) => type === "audit").map(({ plugin, slug }) => `${plugin}/${slug}`)
|
|
50
|
+
);
|
|
51
|
+
const auditRefsFromPlugins = plugins.flatMap(
|
|
52
|
+
({ audits, slug: pluginSlug }) => {
|
|
53
|
+
return audits.map(({ slug }) => `${pluginSlug}/${slug}`);
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
const missingAuditRefs = hasMissingStrings(
|
|
57
|
+
auditRefsFromCategory,
|
|
58
|
+
auditRefsFromPlugins
|
|
59
|
+
);
|
|
60
|
+
if (Array.isArray(missingAuditRefs) && missingAuditRefs.length > 0) {
|
|
61
|
+
missingRefs.push(...missingAuditRefs);
|
|
62
|
+
}
|
|
63
|
+
const groupRefsFromCategory = categories.flatMap(
|
|
64
|
+
({ refs }) => refs.filter(({ type }) => type === "group").map(({ plugin, slug }) => `${plugin}#${slug} (group)`)
|
|
65
|
+
);
|
|
66
|
+
const groupRefsFromPlugins = plugins.flatMap(
|
|
67
|
+
({ groups, slug: pluginSlug }) => {
|
|
68
|
+
return Array.isArray(groups) ? groups.map(({ slug }) => `${pluginSlug}#${slug} (group)`) : [];
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
const missingGroupRefs = hasMissingStrings(
|
|
72
|
+
groupRefsFromCategory,
|
|
73
|
+
groupRefsFromPlugins
|
|
74
|
+
);
|
|
75
|
+
if (Array.isArray(missingGroupRefs) && missingGroupRefs.length > 0) {
|
|
76
|
+
missingRefs.push(...missingGroupRefs);
|
|
77
|
+
}
|
|
78
|
+
return missingRefs.length ? missingRefs : false;
|
|
79
|
+
}
|
|
80
|
+
function missingRefsForCategoriesErrorMsg(categories, plugins) {
|
|
81
|
+
const missingRefs = getMissingRefsForCategories(categories, plugins);
|
|
82
|
+
return `The following category references need to point to an audit or group: ${errorItems(
|
|
83
|
+
missingRefs
|
|
84
|
+
)}`;
|
|
85
|
+
}
|
|
46
86
|
|
|
47
87
|
// packages/models/src/lib/implementation/schemas.ts
|
|
48
88
|
function executionMetaSchema(options = {
|
|
@@ -101,15 +141,13 @@ function positiveIntSchema(description) {
|
|
|
101
141
|
return z.number({ description }).int().nonnegative();
|
|
102
142
|
}
|
|
103
143
|
function packageVersionSchema(options) {
|
|
104
|
-
|
|
105
|
-
versionDescription = versionDescription || "NPM version of the package";
|
|
106
|
-
optional = !!optional;
|
|
144
|
+
const { versionDescription = "NPM version of the package", required } = options ?? {};
|
|
107
145
|
const packageSchema = z.string({ description: "NPM package name" });
|
|
108
146
|
const versionSchema = z.string({ description: versionDescription });
|
|
109
147
|
return z.object(
|
|
110
148
|
{
|
|
111
|
-
packageName:
|
|
112
|
-
version:
|
|
149
|
+
packageName: required ? packageSchema : packageSchema.optional(),
|
|
150
|
+
version: required ? versionSchema : versionSchema.optional()
|
|
113
151
|
},
|
|
114
152
|
{ description: "NPM package name and version of a published package" }
|
|
115
153
|
);
|
|
@@ -171,7 +209,7 @@ var pluginAuditsSchema = z2.array(auditSchema, {
|
|
|
171
209
|
);
|
|
172
210
|
function duplicateSlugsInAuditsErrorMsg(audits) {
|
|
173
211
|
const duplicateRefs = getDuplicateSlugsInAudits(audits);
|
|
174
|
-
return `In plugin audits the slugs are not unique: ${errorItems(
|
|
212
|
+
return `In plugin audits the following slugs are not unique: ${errorItems(
|
|
175
213
|
duplicateRefs
|
|
176
214
|
)}`;
|
|
177
215
|
}
|
|
@@ -360,7 +398,9 @@ function getDuplicateRefsInGroups(groups) {
|
|
|
360
398
|
}
|
|
361
399
|
function duplicateSlugsInGroupsErrorMsg(groups) {
|
|
362
400
|
const duplicateRefs = getDuplicateSlugsInGroups(groups);
|
|
363
|
-
return `In groups the slugs are not unique: ${errorItems(
|
|
401
|
+
return `In groups the following slugs are not unique: ${errorItems(
|
|
402
|
+
duplicateRefs
|
|
403
|
+
)}`;
|
|
364
404
|
}
|
|
365
405
|
function getDuplicateSlugsInGroups(groups) {
|
|
366
406
|
return Array.isArray(groups) ? hasDuplicateStrings(groups.map(({ slug }) => slug)) : false;
|
|
@@ -386,9 +426,7 @@ var onProgressSchema = z8.function().args(z8.unknown()).returns(z8.void());
|
|
|
386
426
|
var runnerFunctionSchema = z8.function().args(onProgressSchema.optional()).returns(z8.union([auditOutputsSchema, z8.promise(auditOutputsSchema)]));
|
|
387
427
|
|
|
388
428
|
// packages/models/src/lib/plugin-config.ts
|
|
389
|
-
var pluginMetaSchema = packageVersionSchema(
|
|
390
|
-
optional: true
|
|
391
|
-
}).merge(
|
|
429
|
+
var pluginMetaSchema = packageVersionSchema().merge(
|
|
392
430
|
metaSchema({
|
|
393
431
|
titleDescription: "Descriptive name",
|
|
394
432
|
descriptionDescription: "Description (markdown)",
|
|
@@ -397,7 +435,7 @@ var pluginMetaSchema = packageVersionSchema({
|
|
|
397
435
|
})
|
|
398
436
|
).merge(
|
|
399
437
|
z9.object({
|
|
400
|
-
slug: slugSchema("
|
|
438
|
+
slug: slugSchema("Unique plugin slug within core config"),
|
|
401
439
|
icon: materialIconSchema
|
|
402
440
|
})
|
|
403
441
|
);
|
|
@@ -414,20 +452,17 @@ var pluginConfigSchema = pluginMetaSchema.merge(pluginDataSchema).refine(
|
|
|
414
452
|
);
|
|
415
453
|
function missingRefsFromGroupsErrorMsg(pluginCfg) {
|
|
416
454
|
const missingRefs = getMissingRefsFromGroups(pluginCfg);
|
|
417
|
-
return `
|
|
455
|
+
return `The following group references need to point to an existing audit in this plugin config: ${errorItems(
|
|
418
456
|
missingRefs
|
|
419
457
|
)}`;
|
|
420
458
|
}
|
|
421
459
|
function getMissingRefsFromGroups(pluginCfg) {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
);
|
|
429
|
-
}
|
|
430
|
-
return false;
|
|
460
|
+
return hasMissingStrings(
|
|
461
|
+
pluginCfg.groups?.flatMap(
|
|
462
|
+
({ refs: audits }) => audits.map(({ slug: ref }) => ref)
|
|
463
|
+
) ?? [],
|
|
464
|
+
pluginCfg.audits.map(({ slug }) => slug)
|
|
465
|
+
);
|
|
431
466
|
}
|
|
432
467
|
|
|
433
468
|
// packages/models/src/lib/upload-config.ts
|
|
@@ -437,19 +472,15 @@ var uploadConfigSchema = z10.object({
|
|
|
437
472
|
apiKey: z10.string({
|
|
438
473
|
description: "API key with write access to portal (use `process.env` for security)"
|
|
439
474
|
}),
|
|
440
|
-
organization:
|
|
441
|
-
|
|
442
|
-
}),
|
|
443
|
-
project: z10.string({
|
|
444
|
-
description: "Project in code versioning system"
|
|
445
|
-
})
|
|
475
|
+
organization: slugSchema("Organization slug from Code PushUp portal"),
|
|
476
|
+
project: slugSchema("Project slug from Code PushUp portal")
|
|
446
477
|
});
|
|
447
478
|
|
|
448
479
|
// packages/models/src/lib/core-config.ts
|
|
449
480
|
var unrefinedCoreConfigSchema = z11.object({
|
|
450
481
|
plugins: z11.array(pluginConfigSchema, {
|
|
451
482
|
description: "List of plugins to be used (official, community-provided, or custom)"
|
|
452
|
-
}),
|
|
483
|
+
}).min(1),
|
|
453
484
|
/** portal configuration for persisting results */
|
|
454
485
|
persist: persistConfigSchema.optional(),
|
|
455
486
|
/** portal configuration for uploading results */
|
|
@@ -459,52 +490,15 @@ var unrefinedCoreConfigSchema = z11.object({
|
|
|
459
490
|
var coreConfigSchema = refineCoreConfig(unrefinedCoreConfigSchema);
|
|
460
491
|
function refineCoreConfig(schema) {
|
|
461
492
|
return schema.refine(
|
|
462
|
-
(coreCfg) => !getMissingRefsForCategories(coreCfg),
|
|
493
|
+
(coreCfg) => !getMissingRefsForCategories(coreCfg.categories, coreCfg.plugins),
|
|
463
494
|
(coreCfg) => ({
|
|
464
|
-
message: missingRefsForCategoriesErrorMsg(
|
|
495
|
+
message: missingRefsForCategoriesErrorMsg(
|
|
496
|
+
coreCfg.categories,
|
|
497
|
+
coreCfg.plugins
|
|
498
|
+
)
|
|
465
499
|
})
|
|
466
500
|
);
|
|
467
501
|
}
|
|
468
|
-
function missingRefsForCategoriesErrorMsg(coreCfg) {
|
|
469
|
-
const missingRefs = getMissingRefsForCategories(coreCfg);
|
|
470
|
-
return `In the categories, the following plugin refs do not exist in the provided plugins: ${errorItems(
|
|
471
|
-
missingRefs
|
|
472
|
-
)}`;
|
|
473
|
-
}
|
|
474
|
-
function getMissingRefsForCategories(coreCfg) {
|
|
475
|
-
const missingRefs = [];
|
|
476
|
-
const auditRefsFromCategory = coreCfg.categories.flatMap(
|
|
477
|
-
({ refs }) => refs.filter(({ type }) => type === "audit").map(({ plugin, slug }) => `${plugin}/${slug}`)
|
|
478
|
-
);
|
|
479
|
-
const auditRefsFromPlugins = coreCfg.plugins.flatMap(
|
|
480
|
-
({ audits, slug: pluginSlug }) => {
|
|
481
|
-
return audits.map(({ slug }) => `${pluginSlug}/${slug}`);
|
|
482
|
-
}
|
|
483
|
-
);
|
|
484
|
-
const missingAuditRefs = hasMissingStrings(
|
|
485
|
-
auditRefsFromCategory,
|
|
486
|
-
auditRefsFromPlugins
|
|
487
|
-
);
|
|
488
|
-
if (Array.isArray(missingAuditRefs) && missingAuditRefs.length > 0) {
|
|
489
|
-
missingRefs.push(...missingAuditRefs);
|
|
490
|
-
}
|
|
491
|
-
const groupRefsFromCategory = coreCfg.categories.flatMap(
|
|
492
|
-
({ refs }) => refs.filter(({ type }) => type === "group").map(({ plugin, slug }) => `${plugin}#${slug} (group)`)
|
|
493
|
-
);
|
|
494
|
-
const groupRefsFromPlugins = coreCfg.plugins.flatMap(
|
|
495
|
-
({ groups, slug: pluginSlug }) => {
|
|
496
|
-
return Array.isArray(groups) ? groups.map(({ slug }) => `${pluginSlug}#${slug} (group)`) : [];
|
|
497
|
-
}
|
|
498
|
-
);
|
|
499
|
-
const missingGroupRefs = hasMissingStrings(
|
|
500
|
-
groupRefsFromCategory,
|
|
501
|
-
groupRefsFromPlugins
|
|
502
|
-
);
|
|
503
|
-
if (Array.isArray(missingGroupRefs) && missingGroupRefs.length > 0) {
|
|
504
|
-
missingRefs.push(...missingGroupRefs);
|
|
505
|
-
}
|
|
506
|
-
return missingRefs.length ? missingRefs : false;
|
|
507
|
-
}
|
|
508
502
|
|
|
509
503
|
// packages/models/src/lib/implementation/constants.ts
|
|
510
504
|
var PERSIST_OUTPUT_DIR = ".code-pushup";
|
|
@@ -524,9 +518,32 @@ var pluginReportSchema = pluginMetaSchema.merge(
|
|
|
524
518
|
audits: z12.array(auditReportSchema),
|
|
525
519
|
groups: z12.array(groupSchema).optional()
|
|
526
520
|
})
|
|
521
|
+
).refine(
|
|
522
|
+
(pluginReport) => !getMissingRefsFromGroups2(pluginReport.audits, pluginReport.groups ?? []),
|
|
523
|
+
(pluginReport) => ({
|
|
524
|
+
message: missingRefsFromGroupsErrorMsg2(
|
|
525
|
+
pluginReport.audits,
|
|
526
|
+
pluginReport.groups ?? []
|
|
527
|
+
)
|
|
528
|
+
})
|
|
527
529
|
);
|
|
530
|
+
function missingRefsFromGroupsErrorMsg2(audits, groups) {
|
|
531
|
+
const missingRefs = getMissingRefsFromGroups2(audits, groups);
|
|
532
|
+
return `group references need to point to an existing audit in this plugin report: ${errorItems(
|
|
533
|
+
missingRefs
|
|
534
|
+
)}`;
|
|
535
|
+
}
|
|
536
|
+
function getMissingRefsFromGroups2(audits, groups) {
|
|
537
|
+
return hasMissingStrings(
|
|
538
|
+
groups.flatMap(
|
|
539
|
+
({ refs: auditRefs }) => auditRefs.map(({ slug: ref }) => ref)
|
|
540
|
+
),
|
|
541
|
+
audits.map(({ slug }) => slug)
|
|
542
|
+
);
|
|
543
|
+
}
|
|
528
544
|
var reportSchema = packageVersionSchema({
|
|
529
|
-
versionDescription: "NPM version of the CLI"
|
|
545
|
+
versionDescription: "NPM version of the CLI",
|
|
546
|
+
required: true
|
|
530
547
|
}).merge(
|
|
531
548
|
executionMetaSchema({
|
|
532
549
|
descriptionDate: "Start date and time of the collect run",
|
|
@@ -536,10 +553,18 @@ var reportSchema = packageVersionSchema({
|
|
|
536
553
|
z12.object(
|
|
537
554
|
{
|
|
538
555
|
categories: z12.array(categoryConfigSchema),
|
|
539
|
-
plugins: z12.array(pluginReportSchema)
|
|
556
|
+
plugins: z12.array(pluginReportSchema).min(1)
|
|
540
557
|
},
|
|
541
558
|
{ description: "Collect output data" }
|
|
542
559
|
)
|
|
560
|
+
).refine(
|
|
561
|
+
(report) => !getMissingRefsForCategories(report.categories, report.plugins),
|
|
562
|
+
(report) => ({
|
|
563
|
+
message: missingRefsForCategoriesErrorMsg(
|
|
564
|
+
report.categories,
|
|
565
|
+
report.plugins
|
|
566
|
+
)
|
|
567
|
+
})
|
|
543
568
|
);
|
|
544
569
|
|
|
545
570
|
// packages/utils/src/lib/constants.ts
|
|
@@ -1679,7 +1704,7 @@ function auditOutputsCorrelateWithPluginOutput(auditOutputs, pluginConfigAudits)
|
|
|
1679
1704
|
|
|
1680
1705
|
// packages/core/package.json
|
|
1681
1706
|
var name = "@code-pushup/core";
|
|
1682
|
-
var version = "0.8.
|
|
1707
|
+
var version = "0.8.11";
|
|
1683
1708
|
|
|
1684
1709
|
// packages/core/src/lib/implementation/collect.ts
|
|
1685
1710
|
async function collect(options) {
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CategoryConfigRefType, IssueSourceType, IssueSeverity as PortalIssueSeverity } from '@code-pushup/portal-client';
|
|
2
2
|
import { Report } from '@code-pushup/models';
|
|
3
3
|
export declare function jsonToGql(report: Report): {
|
|
4
|
-
packageName: string
|
|
5
|
-
packageVersion: string
|
|
4
|
+
packageName: string;
|
|
5
|
+
packageVersion: string;
|
|
6
6
|
commandStartDate: string;
|
|
7
7
|
commandDuration: number;
|
|
8
8
|
plugins: {
|
|
@@ -38,7 +38,7 @@ export declare function jsonToGql(report: Report): {
|
|
|
38
38
|
weight: number;
|
|
39
39
|
}[];
|
|
40
40
|
}[] | undefined;
|
|
41
|
-
icon: "slug" | "search" | "blink" | "key" | "folder-robot" | "folder-src" | "folder-dist" | "folder-css" | "folder-sass" | "folder-images" | "folder-scripts" | "folder-node" | "folder-javascript" | "folder-json" | "folder-font" | "folder-bower" | "folder-test" | "folder-jinja" | "folder-markdown" | "folder-php" | "folder-phpmailer" | "folder-sublime" | "folder-docs" | "folder-git" | "folder-github" | "folder-gitlab" | "folder-vscode" | "folder-views" | "folder-vue" | "folder-vuepress" | "folder-expo" | "folder-config" | "folder-i18n" | "folder-components" | "folder-verdaccio" | "folder-aurelia" | "folder-resource" | "folder-lib" | "folder-theme" | "folder-webpack" | "folder-global" | "folder-public" | "folder-include" | "folder-docker" | "folder-database" | "folder-log" | "folder-target" | "folder-temp" | "folder-aws" | "folder-audio" | "folder-video" | "folder-kubernetes" | "folder-import" | "folder-export" | "folder-wakatime" | "folder-circleci" | "folder-wordpress" | "folder-gradle" | "folder-coverage" | "folder-class" | "folder-other" | "folder-lua" | "folder-typescript" | "folder-graphql" | "folder-routes" | "folder-ci" | "folder-benchmark" | "folder-messages" | "folder-less" | "folder-gulp" | "folder-python" | "folder-mojo" | "folder-moon" | "folder-debug" | "folder-fastlane" | "folder-plugin" | "folder-middleware" | "folder-controller" | "folder-ansible" | "folder-server" | "folder-client" | "folder-tasks" | "folder-android" | "folder-ios" | "folder-upload" | "folder-download" | "folder-tools" | "folder-helper" | "folder-serverless" | "folder-api" | "folder-app" | "folder-apollo" | "folder-archive" | "folder-batch" | "folder-buildkite" | "folder-cluster" | "folder-command" | "folder-constant" | "folder-container" | "folder-content" | "folder-context" | "folder-core" | "folder-delta" | "folder-dump" | "folder-examples" | "folder-environment" | "folder-functions" | "folder-generator" | "folder-hook" | "folder-job" | "folder-keys" | "folder-layout" | "folder-mail" | "folder-mappings" | "folder-meta" | "folder-changesets" | "folder-packages" | "folder-shared" | "folder-shader" | "folder-stack" | "folder-template" | "folder-utils" | "folder-supabase" | "folder-private" | "folder-linux" | "folder-windows" | "folder-macos" | "folder-error" | "folder-event" | "folder-secure" | "folder-custom" | "folder-mock" | "folder-syntax" | "folder-vm" | "folder-stylus" | "folder-flow" | "folder-rules" | "folder-review" | "folder-animation" | "folder-guard" | "folder-prisma" | "folder-pipe" | "folder-svg" | "folder-terraform" | "folder-mobile" | "folder-stencil" | "folder-firebase" | "folder-svelte" | "folder-update" | "folder-intellij" | "folder-azure-pipelines" | "folder-mjml" | "folder-admin" | "folder-scala" | "folder-connection" | "folder-quasar" | "folder-next" | "folder-cobol" | "folder-yarn" | "folder-husky" | "folder-storybook" | "folder-base" | "folder-cart" | "folder-home" | "folder-project" | "folder-interface" | "folder-netlify" | "folder-enum" | "folder-contract" | "folder-queue" | "folder-vercel" | "folder-cypress" | "folder-decorators" | "folder-java" | "folder-resolver" | "folder-angular" | "folder-unity" | "folder-pdf" | "folder-proto" | "folder-plastic" | "folder-gamemaker" | "folder-mercurial" | "folder-godot" | "folder-lottie" | "folder-taskfile" | "folder-robot-open" | "folder-src-open" | "folder-dist-open" | "folder-css-open" | "folder-sass-open" | "folder-images-open" | "folder-scripts-open" | "folder-node-open" | "folder-javascript-open" | "folder-json-open" | "folder-font-open" | "folder-bower-open" | "folder-test-open" | "folder-jinja-open" | "folder-markdown-open" | "folder-php-open" | "folder-phpmailer-open" | "folder-sublime-open" | "folder-docs-open" | "folder-git-open" | "folder-github-open" | "folder-gitlab-open" | "folder-vscode-open" | "folder-views-open" | "folder-vue-open" | "folder-vuepress-open" | "folder-expo-open" | "folder-config-open" | "folder-i18n-open" | "folder-components-open" | "folder-verdaccio-open" | "folder-aurelia-open" | "folder-resource-open" | "folder-lib-open" | "folder-theme-open" | "folder-webpack-open" | "folder-global-open" | "folder-public-open" | "folder-include-open" | "folder-docker-open" | "folder-database-open" | "folder-log-open" | "folder-target-open" | "folder-temp-open" | "folder-aws-open" | "folder-audio-open" | "folder-video-open" | "folder-kubernetes-open" | "folder-import-open" | "folder-export-open" | "folder-wakatime-open" | "folder-circleci-open" | "folder-wordpress-open" | "folder-gradle-open" | "folder-coverage-open" | "folder-class-open" | "folder-other-open" | "folder-lua-open" | "folder-typescript-open" | "folder-graphql-open" | "folder-routes-open" | "folder-ci-open" | "folder-benchmark-open" | "folder-messages-open" | "folder-less-open" | "folder-gulp-open" | "folder-python-open" | "folder-mojo-open" | "folder-moon-open" | "folder-debug-open" | "folder-fastlane-open" | "folder-plugin-open" | "folder-middleware-open" | "folder-controller-open" | "folder-ansible-open" | "folder-server-open" | "folder-client-open" | "folder-tasks-open" | "folder-android-open" | "folder-ios-open" | "folder-upload-open" | "folder-download-open" | "folder-tools-open" | "folder-helper-open" | "folder-serverless-open" | "folder-api-open" | "folder-app-open" | "folder-apollo-open" | "folder-archive-open" | "folder-batch-open" | "folder-buildkite-open" | "folder-cluster-open" | "folder-command-open" | "folder-constant-open" | "folder-container-open" | "folder-content-open" | "folder-context-open" | "folder-core-open" | "folder-delta-open" | "folder-dump-open" | "folder-examples-open" | "folder-environment-open" | "folder-functions-open" | "folder-generator-open" | "folder-hook-open" | "folder-job-open" | "folder-keys-open" | "folder-layout-open" | "folder-mail-open" | "folder-mappings-open" | "folder-meta-open" | "folder-changesets-open" | "folder-packages-open" | "folder-shared-open" | "folder-shader-open" | "folder-stack-open" | "folder-template-open" | "folder-utils-open" | "folder-supabase-open" | "folder-private-open" | "folder-linux-open" | "folder-windows-open" | "folder-macos-open" | "folder-error-open" | "folder-event-open" | "folder-secure-open" | "folder-custom-open" | "folder-mock-open" | "folder-syntax-open" | "folder-vm-open" | "folder-stylus-open" | "folder-flow-open" | "folder-rules-open" | "folder-review-open" | "folder-animation-open" | "folder-guard-open" | "folder-prisma-open" | "folder-pipe-open" | "folder-svg-open" | "folder-terraform-open" | "folder-mobile-open" | "folder-stencil-open" | "folder-firebase-open" | "folder-svelte-open" | "folder-update-open" | "folder-intellij-open" | "folder-azure-pipelines-open" | "folder-mjml-open" | "folder-admin-open" | "folder-scala-open" | "folder-connection-open" | "folder-quasar-open" | "folder-next-open" | "folder-cobol-open" | "folder-yarn-open" | "folder-husky-open" | "folder-storybook-open" | "folder-base-open" | "folder-cart-open" | "folder-home-open" | "folder-project-open" | "folder-interface-open" | "folder-netlify-open" | "folder-enum-open" | "folder-contract-open" | "folder-queue-open" | "folder-vercel-open" | "folder-cypress-open" | "folder-decorators-open" | "folder-java-open" | "folder-resolver-open" | "folder-angular-open" | "folder-unity-open" | "folder-pdf-open" | "folder-proto-open" | "folder-plastic-open" | "folder-gamemaker-open" | "folder-mercurial-open" | "folder-godot-open" | "folder-lottie-open" | "folder-taskfile-open" | "html" | "pug" | "markdown" | "css" | "sass" | "less" | "json" | "hjson" | "jinja" | "proto" | "sublime" | "twine" | "yaml" | "xml" | "image" | "javascript" | "react" | "react_ts" | "routing" | "settings" | "typescript-def" | "markojs" | "astro" | "pdf" | "table" | "vscode" | "visualstudio" | "database" | "kusto" | "csharp" | "qsharp" | "zip" | "vala" | "zig" | "exe" | "hex" | "java" | "jar" | "javaclass" | "c" | "h" | "cpp" | "hpp" | "objective-c" | "objective-cpp" | "rc" | "go" | "python" | "python-misc" | "url" | "console" | "powershell" | "gradle" | "word" | "certificate" | "font" | "lib" | "ruby" | "fsharp" | "swift" | "arduino" | "docker" | "tex" | "powerpoint" | "video" | "virtual" | "email" | "audio" | "coffee" | "document" | "graphql" | "rust" | "raml" | "xaml" | "haskell" | "kotlin" | "otne" | "git" | "lua" | "clojure" | "groovy" | "r" | "dart" | "dart_generated" | "actionscript" | "mxml" | "autohotkey" | "flash" | "swc" | "cmake" | "assembly" | "vue" | "ocaml" | "odin" | "javascript-map" | "css-map" | "lock" | "handlebars" | "perl" | "haxe" | "test-ts" | "test-jsx" | "test-js" | "angular" | "angular-component" | "angular-guard" | "angular-service" | "angular-pipe" | "angular-directive" | "angular-resolver" | "puppet" | "elixir" | "livescript" | "erlang" | "twig" | "julia" | "elm" | "purescript" | "smarty" | "stylus" | "reason" | "bucklescript" | "merlin" | "verilog" | "mathematica" | "wolframlanguage" | "nunjucks" | "robot" | "solidity" | "autoit" | "haml" | "yang" | "mjml" | "terraform" | "laravel" | "applescript" | "cake" | "cucumber" | "nim" | "apiblueprint" | "riot" | "vfl" | "kl" | "postcss" | "todo" | "coldfusion" | "cabal" | "nix" | "slim" | "http" | "restql" | "kivy" | "graphcool" | "sbt" | "android" | "tune" | "gitlab" | "jenkins" | "figma" | "crystal" | "drone" | "cuda" | "log" | "dotjs" | "ejs" | "wakatime" | "processing" | "storybook" | "wepy" | "hcl" | "san" | "django" | "red" | "makefile" | "foxpro" | "i18n" | "webassembly" | "jupyter" | "d" | "mdx" | "mdsvex" | "ballerina" | "racket" | "bazel" | "mint" | "velocity" | "godot" | "godot-assets" | "azure-pipelines" | "azure" | "vagrant" | "prisma" | "razor" | "abc" | "asciidoc" | "edge" | "scheme" | "lisp" | "3d" | "svg" | "svelte" | "vim" | "moonscript" | "advpl_prw" | "advpl_ptm" | "advpl_tlpp" | "advpl_include" | "disc" | "fortran" | "tcl" | "liquid" | "prolog" | "coconut" | "sketch" | "pawn" | "forth" | "uml" | "meson" | "dhall" | "sml" | "opam" | "imba" | "drawio" | "pascal" | "shaderlab" | "sas" | "nuget" | "command" | "denizenscript" | "nginx" | "minecraft" | "rescript" | "rescript-interface" | "brainfuck" | "bicep" | "cobol" | "grain" | "lolcode" | "idris" | "pipeline" | "opa" | "windicss" | "scala" | "lilypond" | "vlang" | "chess" | "gemini" | "tsconfig" | "tauri" | "jsconfig" | "ada" | "horusec" | "coala" | "dinophp" | "teal" | "template" | "shader" | "siyuan" | "ndst" | "tobi" | "gleam" | "steadybit" | "tree" | "cadence" | "antlr" | "stylable" | "pinejs" | "taskfile" | "gamemaker" | "tldraw" | "typst" | "mermaid" | "mojo" | "roblox" | "spwn" | "templ" | "chrome" | "stan" | "abap" | "lottie" | "apps-script" | "playwright" | "go-mod" | "gemfile" | "rubocop" | "rspec" | "semgrep" | "vue-config" | "nuxt" | "vercel" | "verdaccio" | "next" | "remix" | "posthtml" | "webpack" | "ionic" | "gulp" | "nodejs" | "npm" | "yarn" | "turborepo" | "babel" | "blitz" | "contributing" | "readme" | "changelog" | "architecture" | "credits" | "authors" | "flow" | "favicon" | "karma" | "bithound" | "svgo" | "appveyor" | "travis" | "codecov" | "sonarcloud" | "protractor" | "fusebox" | "heroku" | "editorconfig" | "bower" | "eslint" | "conduct" | "watchman" | "aurelia" | "auto" | "mocha" | "firebase" | "rollup" | "hack" | "hardhat" | "stylelint" | "code-climate" | "prettier" | "renovate" | "apollo" | "nodemon" | "webhint" | "browserlist" | "snyk" | "sequelize" | "gatsby" | "circleci" | "cloudfoundry" | "grunt" | "jest" | "fastlane" | "helm" | "wallaby" | "stencil" | "semantic-release" | "bitbucket" | "istanbul" | "tailwindcss" | "buildkite" | "netlify" | "nest" | "moon" | "percy" | "gitpod" | "codeowners" | "gcp" | "husky" | "tilt" | "capacitor" | "adonis" | "commitlint" | "buck" | "nrwl" | "dune" | "roadmap" | "stryker" | "modernizr" | "stitches" | "replit" | "snowpack" | "quasar" | "dependabot" | "vite" | "vitest" | "lerna" | "textlint" | "sentry" | "phpunit" | "php-cs-fixer" | "robots" | "maven" | "serverless" | "supabase" | "ember" | "poetry" | "parcel" | "astyle" | "lighthouse" | "svgr" | "rome" | "cypress" | "plop" | "tobimake" | "pnpm" | "gridsome" | "caddy" | "bun" | "nano-staged" | "craco" | "mercurial" | "deno" | "plastic" | "unocss" | "ifanr-cloud" | "concourse" | "werf" | "panda" | "biome" | "esbuild" | "puppeteer" | "kubernetes" | "matlab" | "diff" | "typescript" | "php" | "salesforce" | "blink_light" | "jinja_light" | "crystal_light" | "drone_light" | "wakatime_light" | "hcl_light" | "uml_light" | "chess_light" | "tldraw_light" | "rubocop_light" | "vercel_light" | "next_light" | "remix_light" | "turborepo_light" | "auto_light" | "stylelint_light" | "code-climate_light" | "browserlist_light" | "circleci_light" | "semantic-release_light" | "netlify_light" | "stitches_light" | "snowpack_light" | "pnpm_light" | "bun_light" | "nano-staged_light" | "deno_light" | "folder-jinja_light" | "folder-intellij_light" | "folder-jinja-open_light" | "folder-intellij-open_light" | "file" | "folder" | "folder-open" | "folder-root" | "folder-root-open" | "php_elephant" | "php_elephant_pink" | "go_gopher" | "nodejs_alt" | "silverstripe";
|
|
41
|
+
icon: "slug" | "file" | "command" | "search" | "blink" | "key" | "folder-robot" | "folder-src" | "folder-dist" | "folder-css" | "folder-sass" | "folder-images" | "folder-scripts" | "folder-node" | "folder-javascript" | "folder-json" | "folder-font" | "folder-bower" | "folder-test" | "folder-jinja" | "folder-markdown" | "folder-php" | "folder-phpmailer" | "folder-sublime" | "folder-docs" | "folder-git" | "folder-github" | "folder-gitlab" | "folder-vscode" | "folder-views" | "folder-vue" | "folder-vuepress" | "folder-expo" | "folder-config" | "folder-i18n" | "folder-components" | "folder-verdaccio" | "folder-aurelia" | "folder-resource" | "folder-lib" | "folder-theme" | "folder-webpack" | "folder-global" | "folder-public" | "folder-include" | "folder-docker" | "folder-database" | "folder-log" | "folder-target" | "folder-temp" | "folder-aws" | "folder-audio" | "folder-video" | "folder-kubernetes" | "folder-import" | "folder-export" | "folder-wakatime" | "folder-circleci" | "folder-wordpress" | "folder-gradle" | "folder-coverage" | "folder-class" | "folder-other" | "folder-lua" | "folder-typescript" | "folder-graphql" | "folder-routes" | "folder-ci" | "folder-benchmark" | "folder-messages" | "folder-less" | "folder-gulp" | "folder-python" | "folder-mojo" | "folder-moon" | "folder-debug" | "folder-fastlane" | "folder-plugin" | "folder-middleware" | "folder-controller" | "folder-ansible" | "folder-server" | "folder-client" | "folder-tasks" | "folder-android" | "folder-ios" | "folder-upload" | "folder-download" | "folder-tools" | "folder-helper" | "folder-serverless" | "folder-api" | "folder-app" | "folder-apollo" | "folder-archive" | "folder-batch" | "folder-buildkite" | "folder-cluster" | "folder-command" | "folder-constant" | "folder-container" | "folder-content" | "folder-context" | "folder-core" | "folder-delta" | "folder-dump" | "folder-examples" | "folder-environment" | "folder-functions" | "folder-generator" | "folder-hook" | "folder-job" | "folder-keys" | "folder-layout" | "folder-mail" | "folder-mappings" | "folder-meta" | "folder-changesets" | "folder-packages" | "folder-shared" | "folder-shader" | "folder-stack" | "folder-template" | "folder-utils" | "folder-supabase" | "folder-private" | "folder-linux" | "folder-windows" | "folder-macos" | "folder-error" | "folder-event" | "folder-secure" | "folder-custom" | "folder-mock" | "folder-syntax" | "folder-vm" | "folder-stylus" | "folder-flow" | "folder-rules" | "folder-review" | "folder-animation" | "folder-guard" | "folder-prisma" | "folder-pipe" | "folder-svg" | "folder-terraform" | "folder-mobile" | "folder-stencil" | "folder-firebase" | "folder-svelte" | "folder-update" | "folder-intellij" | "folder-azure-pipelines" | "folder-mjml" | "folder-admin" | "folder-scala" | "folder-connection" | "folder-quasar" | "folder-next" | "folder-cobol" | "folder-yarn" | "folder-husky" | "folder-storybook" | "folder-base" | "folder-cart" | "folder-home" | "folder-project" | "folder-interface" | "folder-netlify" | "folder-enum" | "folder-contract" | "folder-queue" | "folder-vercel" | "folder-cypress" | "folder-decorators" | "folder-java" | "folder-resolver" | "folder-angular" | "folder-unity" | "folder-pdf" | "folder-proto" | "folder-plastic" | "folder-gamemaker" | "folder-mercurial" | "folder-godot" | "folder-lottie" | "folder-taskfile" | "folder-robot-open" | "folder-src-open" | "folder-dist-open" | "folder-css-open" | "folder-sass-open" | "folder-images-open" | "folder-scripts-open" | "folder-node-open" | "folder-javascript-open" | "folder-json-open" | "folder-font-open" | "folder-bower-open" | "folder-test-open" | "folder-jinja-open" | "folder-markdown-open" | "folder-php-open" | "folder-phpmailer-open" | "folder-sublime-open" | "folder-docs-open" | "folder-git-open" | "folder-github-open" | "folder-gitlab-open" | "folder-vscode-open" | "folder-views-open" | "folder-vue-open" | "folder-vuepress-open" | "folder-expo-open" | "folder-config-open" | "folder-i18n-open" | "folder-components-open" | "folder-verdaccio-open" | "folder-aurelia-open" | "folder-resource-open" | "folder-lib-open" | "folder-theme-open" | "folder-webpack-open" | "folder-global-open" | "folder-public-open" | "folder-include-open" | "folder-docker-open" | "folder-database-open" | "folder-log-open" | "folder-target-open" | "folder-temp-open" | "folder-aws-open" | "folder-audio-open" | "folder-video-open" | "folder-kubernetes-open" | "folder-import-open" | "folder-export-open" | "folder-wakatime-open" | "folder-circleci-open" | "folder-wordpress-open" | "folder-gradle-open" | "folder-coverage-open" | "folder-class-open" | "folder-other-open" | "folder-lua-open" | "folder-typescript-open" | "folder-graphql-open" | "folder-routes-open" | "folder-ci-open" | "folder-benchmark-open" | "folder-messages-open" | "folder-less-open" | "folder-gulp-open" | "folder-python-open" | "folder-mojo-open" | "folder-moon-open" | "folder-debug-open" | "folder-fastlane-open" | "folder-plugin-open" | "folder-middleware-open" | "folder-controller-open" | "folder-ansible-open" | "folder-server-open" | "folder-client-open" | "folder-tasks-open" | "folder-android-open" | "folder-ios-open" | "folder-upload-open" | "folder-download-open" | "folder-tools-open" | "folder-helper-open" | "folder-serverless-open" | "folder-api-open" | "folder-app-open" | "folder-apollo-open" | "folder-archive-open" | "folder-batch-open" | "folder-buildkite-open" | "folder-cluster-open" | "folder-command-open" | "folder-constant-open" | "folder-container-open" | "folder-content-open" | "folder-context-open" | "folder-core-open" | "folder-delta-open" | "folder-dump-open" | "folder-examples-open" | "folder-environment-open" | "folder-functions-open" | "folder-generator-open" | "folder-hook-open" | "folder-job-open" | "folder-keys-open" | "folder-layout-open" | "folder-mail-open" | "folder-mappings-open" | "folder-meta-open" | "folder-changesets-open" | "folder-packages-open" | "folder-shared-open" | "folder-shader-open" | "folder-stack-open" | "folder-template-open" | "folder-utils-open" | "folder-supabase-open" | "folder-private-open" | "folder-linux-open" | "folder-windows-open" | "folder-macos-open" | "folder-error-open" | "folder-event-open" | "folder-secure-open" | "folder-custom-open" | "folder-mock-open" | "folder-syntax-open" | "folder-vm-open" | "folder-stylus-open" | "folder-flow-open" | "folder-rules-open" | "folder-review-open" | "folder-animation-open" | "folder-guard-open" | "folder-prisma-open" | "folder-pipe-open" | "folder-svg-open" | "folder-terraform-open" | "folder-mobile-open" | "folder-stencil-open" | "folder-firebase-open" | "folder-svelte-open" | "folder-update-open" | "folder-intellij-open" | "folder-azure-pipelines-open" | "folder-mjml-open" | "folder-admin-open" | "folder-scala-open" | "folder-connection-open" | "folder-quasar-open" | "folder-next-open" | "folder-cobol-open" | "folder-yarn-open" | "folder-husky-open" | "folder-storybook-open" | "folder-base-open" | "folder-cart-open" | "folder-home-open" | "folder-project-open" | "folder-interface-open" | "folder-netlify-open" | "folder-enum-open" | "folder-contract-open" | "folder-queue-open" | "folder-vercel-open" | "folder-cypress-open" | "folder-decorators-open" | "folder-java-open" | "folder-resolver-open" | "folder-angular-open" | "folder-unity-open" | "folder-pdf-open" | "folder-proto-open" | "folder-plastic-open" | "folder-gamemaker-open" | "folder-mercurial-open" | "folder-godot-open" | "folder-lottie-open" | "folder-taskfile-open" | "html" | "pug" | "markdown" | "css" | "sass" | "less" | "json" | "hjson" | "jinja" | "proto" | "sublime" | "twine" | "yaml" | "xml" | "image" | "javascript" | "react" | "react_ts" | "routing" | "settings" | "typescript-def" | "markojs" | "astro" | "pdf" | "table" | "vscode" | "visualstudio" | "database" | "kusto" | "csharp" | "qsharp" | "zip" | "vala" | "zig" | "exe" | "hex" | "java" | "jar" | "javaclass" | "c" | "h" | "cpp" | "hpp" | "objective-c" | "objective-cpp" | "rc" | "go" | "python" | "python-misc" | "url" | "console" | "powershell" | "gradle" | "word" | "certificate" | "font" | "lib" | "ruby" | "fsharp" | "swift" | "arduino" | "docker" | "tex" | "powerpoint" | "video" | "virtual" | "email" | "audio" | "coffee" | "document" | "graphql" | "rust" | "raml" | "xaml" | "haskell" | "kotlin" | "otne" | "git" | "lua" | "clojure" | "groovy" | "r" | "dart" | "dart_generated" | "actionscript" | "mxml" | "autohotkey" | "flash" | "swc" | "cmake" | "assembly" | "vue" | "ocaml" | "odin" | "javascript-map" | "css-map" | "lock" | "handlebars" | "perl" | "haxe" | "test-ts" | "test-jsx" | "test-js" | "angular" | "angular-component" | "angular-guard" | "angular-service" | "angular-pipe" | "angular-directive" | "angular-resolver" | "puppet" | "elixir" | "livescript" | "erlang" | "twig" | "julia" | "elm" | "purescript" | "smarty" | "stylus" | "reason" | "bucklescript" | "merlin" | "verilog" | "mathematica" | "wolframlanguage" | "nunjucks" | "robot" | "solidity" | "autoit" | "haml" | "yang" | "mjml" | "terraform" | "laravel" | "applescript" | "cake" | "cucumber" | "nim" | "apiblueprint" | "riot" | "vfl" | "kl" | "postcss" | "todo" | "coldfusion" | "cabal" | "nix" | "slim" | "http" | "restql" | "kivy" | "graphcool" | "sbt" | "android" | "tune" | "gitlab" | "jenkins" | "figma" | "crystal" | "drone" | "cuda" | "log" | "dotjs" | "ejs" | "wakatime" | "processing" | "storybook" | "wepy" | "hcl" | "san" | "django" | "red" | "makefile" | "foxpro" | "i18n" | "webassembly" | "jupyter" | "d" | "mdx" | "mdsvex" | "ballerina" | "racket" | "bazel" | "mint" | "velocity" | "godot" | "godot-assets" | "azure-pipelines" | "azure" | "vagrant" | "prisma" | "razor" | "abc" | "asciidoc" | "edge" | "scheme" | "lisp" | "3d" | "svg" | "svelte" | "vim" | "moonscript" | "advpl_prw" | "advpl_ptm" | "advpl_tlpp" | "advpl_include" | "disc" | "fortran" | "tcl" | "liquid" | "prolog" | "coconut" | "sketch" | "pawn" | "forth" | "uml" | "meson" | "dhall" | "sml" | "opam" | "imba" | "drawio" | "pascal" | "shaderlab" | "sas" | "nuget" | "denizenscript" | "nginx" | "minecraft" | "rescript" | "rescript-interface" | "brainfuck" | "bicep" | "cobol" | "grain" | "lolcode" | "idris" | "pipeline" | "opa" | "windicss" | "scala" | "lilypond" | "vlang" | "chess" | "gemini" | "tsconfig" | "tauri" | "jsconfig" | "ada" | "horusec" | "coala" | "dinophp" | "teal" | "template" | "shader" | "siyuan" | "ndst" | "tobi" | "gleam" | "steadybit" | "tree" | "cadence" | "antlr" | "stylable" | "pinejs" | "taskfile" | "gamemaker" | "tldraw" | "typst" | "mermaid" | "mojo" | "roblox" | "spwn" | "templ" | "chrome" | "stan" | "abap" | "lottie" | "apps-script" | "playwright" | "go-mod" | "gemfile" | "rubocop" | "rspec" | "semgrep" | "vue-config" | "nuxt" | "vercel" | "verdaccio" | "next" | "remix" | "posthtml" | "webpack" | "ionic" | "gulp" | "nodejs" | "npm" | "yarn" | "turborepo" | "babel" | "blitz" | "contributing" | "readme" | "changelog" | "architecture" | "credits" | "authors" | "flow" | "favicon" | "karma" | "bithound" | "svgo" | "appveyor" | "travis" | "codecov" | "sonarcloud" | "protractor" | "fusebox" | "heroku" | "editorconfig" | "bower" | "eslint" | "conduct" | "watchman" | "aurelia" | "auto" | "mocha" | "firebase" | "rollup" | "hack" | "hardhat" | "stylelint" | "code-climate" | "prettier" | "renovate" | "apollo" | "nodemon" | "webhint" | "browserlist" | "snyk" | "sequelize" | "gatsby" | "circleci" | "cloudfoundry" | "grunt" | "jest" | "fastlane" | "helm" | "wallaby" | "stencil" | "semantic-release" | "bitbucket" | "istanbul" | "tailwindcss" | "buildkite" | "netlify" | "nest" | "moon" | "percy" | "gitpod" | "codeowners" | "gcp" | "husky" | "tilt" | "capacitor" | "adonis" | "commitlint" | "buck" | "nrwl" | "dune" | "roadmap" | "stryker" | "modernizr" | "stitches" | "replit" | "snowpack" | "quasar" | "dependabot" | "vite" | "vitest" | "lerna" | "textlint" | "sentry" | "phpunit" | "php-cs-fixer" | "robots" | "maven" | "serverless" | "supabase" | "ember" | "poetry" | "parcel" | "astyle" | "lighthouse" | "svgr" | "rome" | "cypress" | "plop" | "tobimake" | "pnpm" | "gridsome" | "caddy" | "bun" | "nano-staged" | "craco" | "mercurial" | "deno" | "plastic" | "unocss" | "ifanr-cloud" | "concourse" | "werf" | "panda" | "biome" | "esbuild" | "puppeteer" | "kubernetes" | "matlab" | "diff" | "typescript" | "php" | "salesforce" | "blink_light" | "jinja_light" | "crystal_light" | "drone_light" | "wakatime_light" | "hcl_light" | "uml_light" | "chess_light" | "tldraw_light" | "rubocop_light" | "vercel_light" | "next_light" | "remix_light" | "turborepo_light" | "auto_light" | "stylelint_light" | "code-climate_light" | "browserlist_light" | "circleci_light" | "semantic-release_light" | "netlify_light" | "stitches_light" | "snowpack_light" | "pnpm_light" | "bun_light" | "nano-staged_light" | "deno_light" | "folder-jinja_light" | "folder-intellij_light" | "folder-jinja-open_light" | "folder-intellij-open_light" | "folder" | "folder-open" | "folder-root" | "folder-root-open" | "php_elephant" | "php_elephant_pink" | "go_gopher" | "nodejs_alt" | "silverstripe";
|
|
42
42
|
slug: string;
|
|
43
43
|
title: string;
|
|
44
44
|
packageName: string | undefined;
|