renovate/lib/config/presets/internal/monorepo.ts
2021-08-16 20:38:49 +02:00

197 lines
9.4 KiB
TypeScript

import is from '@sindresorhus/is';
import type { Preset } from '../types';
const repoGroups = {
'ag-grid': 'https://github.com/ag-grid/ag-grid',
'arcus event-grid': 'https://github.com/arcus-azure/arcus.eventgrid',
'arcus security': 'https://github.com/arcus-azure/arcus.security',
'arcus messaging': 'https://github.com/arcus-azure/arcus.messaging',
'arcus observability': 'https://github.com/arcus-azure/arcus.observability',
'arcus webapi': 'https://github.com/arcus-azure/arcus.webapi',
'arcus background-jobs':
'https://github.com/arcus-azure/arcus.backgroundjobs',
'algolia-react-instantsearch':
'https://github.com/algolia/react-instantsearch',
'angular-eslint': 'https://github.com/angular-eslint/angular-eslint',
'apollo-server': 'https://github.com/apollographql/apollo-server',
'aspnet-api-versioning': 'https://github.com/Microsoft/aspnet-api-versioning',
'aspnet AspNetWebStack': 'https://github.com/aspnet/AspNetWebStack',
'aspnet Extensions': 'https://github.com/aspnet/Extensions',
'aws-cdk': 'https://github.com/aws/aws-cdk',
'aws-sdk-js-v3': 'https://github.com/aws/aws-sdk-js-v3',
'aws-sdk-net': 'https://github.com/aws/aws-sdk-net',
'azure azure-libraries-for-net':
'https://github.com/Azure/azure-libraries-for-net',
'azure azure-sdk-for-net': 'https://github.com/Azure/azure-sdk-for-net',
'azure azure-storage-net': 'https://github.com/Azure/azure-storage-net',
'bugsnag-js': 'https://github.com/bugsnag/bugsnag-js',
'chakra-ui': 'https://github.com/chakra-ui/chakra-ui',
'contentful-rich-text': 'https://github.com/contentful/rich-text',
'date-io': 'https://github.com/dmtrKovalenko/date-io',
'devextreme-reactive': 'https://github.com/DevExpress/devextreme-reactive',
'electron-forge': 'https://github.com/electron-userland/electron-forge',
'feathers-databases': 'https://github.com/feathersjs/databases',
'ember-decorators': 'https://github.com/ember-decorators/ember-decorators',
'graphql-modules': 'https://github.com/Urigo/graphql-modules',
'ionic-native': 'https://github.com/ionic-team/ionic-native',
'mdc-react': 'material-components/material-components-web-react',
'ngx-formly': 'https://github.com/ngx-formly/ngx-formly',
'ngxs-store': 'https://github.com/ngxs/store',
'reach-ui': 'https://github.com/reach/reach-ui',
'react-apollo': 'https://github.com/apollographql/react-apollo',
'react-dnd': 'https://github.com/react-dnd/react-dnd',
'react-navigation': 'https://github.com/react-navigation/react-navigation',
'reactivestack-cookies': 'https://github.com/reactivestack/cookies',
'reg-suit': 'https://github.com/reg-viz/reg-suit',
'semantic-release': 'https://github.com/semantic-release/',
'shopify-app-bridge': 'https://github.com/Shopify/app-bridge',
'System.IO.Abstractions':
'https://github.com/System-IO-Abstractions/System.IO.Abstractions/',
'telus-tds': 'https://github.com/telusdigital/tds',
'theme-ui': 'https://github.com/system-ui/theme-ui',
tsoa: 'https://github.com/lukeautry/tsoa',
'typescript-eslint': 'https://github.com/typescript-eslint/typescript-eslint',
'typography-js': 'https://github.com/KyleAMathews/typography.js',
'vue-cli': 'https://github.com/vuejs/vue-cli',
accounts: 'https://github.com/accounts-js/accounts',
angular1: 'https://github.com/angular/angular.js',
angular: 'https://github.com/angular/angular',
angularcli: 'https://github.com/angular/angular-cli',
angularfire: 'https://github.com/angular/angularfire',
apolloclient: 'https://github.com/apollographql/apollo-client',
apollolink: 'https://github.com/apollographql/apollo-link',
awsappsync: 'https://github.com/awslabs/aws-mobile-appsync-sdk-js',
babel: 'https://github.com/babel/babel',
baset: 'https://github.com/igmat/baset',
brave: 'https://github.com/openzipkin/brave',
capacitor: 'https://github.com/ionic-team/capacitor',
chromely: 'https://github.com/chromelyapps/Chromely',
clarity: 'https://github.com/vmware/clarity',
clearscript: [
'https://github.com/microsoft/ClearScript',
'https://github.com/Microsoft/ClearScript',
],
commitlint: 'https://github.com/conventional-changelog/commitlint',
docusaurus: 'https://github.com/facebook/docusaurus',
dotnet: [
'https://github.com/dotnet/aspnetcore',
'https://github.com/dotnet/efcore',
'https://github.com/dotnet/extensions',
'https://github.com/dotnet/runtime',
],
dropwizard: 'https://github.com/dropwizard/dropwizard',
emotion: 'https://github.com/emotion-js/emotion',
expo: 'https://github.com/expo/expo',
feathers: 'https://github.com/feathersjs/feathers',
fimbullinter: 'https://github.com/fimbullinter/wotan',
flopflip: 'https://github.com/tdeekens/flopflip',
Fontsource: 'https://github.com/fontsource/fontsource',
formatjs: 'https://github.com/formatjs/formatjs',
framework7: 'https://github.com/framework7io/framework7',
gatsby: 'https://github.com/gatsbyjs/gatsby',
graphqlcodegenerator: [
'https://github.com/dotansimha/graphql-code-generator',
'https://github.com/dotansimha/graphql-codegen',
],
'graphql-mesh': 'https://github.com/Urigo/graphql-mesh',
'graphql-toolkit': 'https://github.com/ardatan/graphql-toolkit',
'graphql-tools': 'https://github.com/ardatan/graphql-tools',
hamcrest: 'https://github.com/hamcrest/JavaHamcrest',
Hangfire: 'https://github.com/HangfireIO/Hangfire',
hapijs: 'https://github.com/hapijs',
HotChocolate: 'https://github.com/ChilliCream/hotchocolate',
infrastructure: 'https://github.com/instructure/instructure-ui',
istanbuljs: 'https://github.com/istanbuljs/istanbuljs',
jasmine: 'https://github.com/jasmine/jasmine',
javascriptengineswitcher:
'https://github.com/Taritsyn/JavaScriptEngineSwitcher',
jersey: 'https://github.com/eclipse-ee4j/jersey',
jest: 'https://github.com/facebook/jest',
junit5: 'https://github.com/junit-team/junit5',
lerna: 'https://github.com/lerna/lerna',
lingui: 'https://github.com/lingui/js-lingui',
lodash: 'https://github.com/lodash/',
loopback: [
'https://github.com/strongloop/loopback-next', // old repo (see: https://github.com/loopbackio/loopback-next/issues/7595)
'https://github.com/loopbackio/loopback-next',
],
lrnwebcomponents: 'https://github.com/elmsln/lrnwebcomponents',
MassTransit: 'https://github.com/MassTransit/MassTransit',
material: 'https://github.com/material-components/material-components-web',
mdx: 'https://github.com/mdx-js/mdx',
mstest: 'https://github.com/microsoft/testfx',
mui: 'https://github.com/mui-org/material-ui',
nest: 'https://github.com/nestjs/nest',
neutrino: [
'https://github.com/neutrinojs/neutrino',
'https://github.com/mozilla-neutrino/neutrino-dev',
],
nextjs: [
'https://github.com/zeit/next.js', // old repo
'https://github.com/vercel/next.js',
],
nivo: 'https://github.com/plouc/nivo',
ngrx: 'https://github.com/ngrx/',
nrwl: 'https://github.com/nrwl/',
nuxtjs: 'https://github.com/nuxt/nuxt.js',
openfeign: 'https://github.com/OpenFeign/feign',
opentelemetry: 'https://github.com/open-telemetry/opentelemetry-js',
OpenTelemetryDotnet: 'https://github.com/open-telemetry/opentelemetry-dotnet',
orleans: 'https://github.com/dotnet/orleans',
picasso: 'https://github.com/qlik-oss/picasso.js',
pnpjs: 'https://github.com/pnp/pnpjs',
playwright: 'https://github.com/Microsoft/playwright',
pollyjs: 'https://github.com/Netflix/pollyjs',
pouchdb: 'https://github.com/pouchdb/pouchdb',
prisma: 'https://github.com/prisma/prisma',
react: 'https://github.com/facebook/react',
reactrouter: 'https://github.com/ReactTraining/react-router',
reakit: 'https://github.com/reakit/reakit',
redwood: 'https://github.com/redwoodjs/redwood',
remark: 'https://github.com/remarkjs/remark',
router5: 'https://github.com/router5/router5',
'sentry-ruby': 'https://github.com/getsentry/sentry-ruby',
sentry: 'https://github.com/getsentry/sentry-javascript',
springfox: 'https://github.com/springfox/springfox',
sanity: 'https://github.com/sanity-io/sanity',
Steeltoe: 'https://github.com/SteeltoeOSS/steeltoe',
storybook: 'https://github.com/storybookjs/storybook',
strapi: 'https://github.com/strapi/strapi',
stryker: 'https://github.com/stryker-mutator/stryker',
surveyjs: 'https://github.com/surveyjs/surveyjs',
Swashbuckle: 'https://github.com/domaindrivendev/Swashbuckle.AspNetCore',
treat: 'https://github.com/seek-oss/treat',
typefaces: 'https://github.com/KyleAMathews/typefaces',
uppy: 'https://github.com/transloadit/uppy',
vue: 'https://github.com/vuejs/vue',
vuepress: 'https://github.com/vuejs/vuepress',
webdriverio: 'https://github.com/webdriverio/webdriverio',
workbox: 'https://github.com/googlechrome/workbox',
vstest: 'https://github.com/microsoft/vstest',
};
const patternGroups = {
babel6: '^babel6$',
clarity: ['^@cds/', '^@clr/'], // https://github.com/vmware/clarity/issues/5235
wordpress: '^@wordpress/',
angularmaterial: ['^@angular/material', '^@angular/cdk'],
'aws-java-sdk': '^com.amazonaws:aws-java-sdk-',
'aws-java-sdk-v2': '^software.amazon.awssdk:',
embroider: '^@embroider/',
fullcalendar: '^@fullcalendar/',
};
export const presets: Record<string, Preset> = {};
for (const [name, value] of Object.entries(repoGroups)) {
presets[name] = {
description: `${name} monorepo`,
matchSourceUrlPrefixes: is.array(value) ? value : [value],
};
}
for (const [name, value] of Object.entries(patternGroups)) {
presets[name] = {
description: `${name} monorepo`,
matchPackagePatterns: is.array(value) ? value : [value],
};
}