console/.eslintrc.cjs

334 lines
12 KiB
JavaScript
Raw Permalink Normal View History

2022-05-18 07:26:57 +00:00
/* eslint-env node */
// eslint-disable-next-line @typescript-eslint/no-var-requires
2022-12-28 19:22:54 +00:00
const guildConfig = require('@theguild/eslint-config/base');
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { REACT_RESTRICTED_SYNTAX, RESTRICTED_SYNTAX } = require('@theguild/eslint-config/constants');
const path = require('path');
2022-12-28 19:22:54 +00:00
const SCHEMA_PATH = './packages/services/api/src/modules/*/module.graphql.ts';
const OPERATIONS_PATHS = [
'./packages/web/app/**/*.ts',
'./packages/web/app/**/*.tsx',
'./packages/web/app/**/*.graphql',
];
2022-12-28 19:22:54 +00:00
const rulesToExtends = Object.fromEntries(
Object.entries(guildConfig.rules).filter(([key]) =>
[
'import/first',
'no-restricted-globals',
'@typescript-eslint/no-unused-vars',
'unicorn/no-array-push-push',
'no-else-return',
'no-lonely-if',
'unicorn/prefer-includes',
'no-extra-boolean-cast',
2022-12-28 19:22:54 +00:00
].includes(key),
),
);
2022-05-18 07:26:57 +00:00
const HIVE_RESTRICTED_SYNTAX = [
{
// ❌ '0.0.0.0' or `0.0.0.0`
selector: ':matches(Literal[value="0.0.0.0"], TemplateElement[value.raw="0.0.0.0"])',
message: 'Use "::" to make it compatible with both IPv4 and IPv6',
},
];
const tailwindCallees = ['clsx', 'cn', 'cva', 'cx'];
/**
* @type {import('eslint').Linter.Config}
*/
2022-05-18 07:26:57 +00:00
module.exports = {
ignorePatterns: [
'scripts',
'rules',
2022-05-18 07:26:57 +00:00
'out',
'.hive',
'packages/web/app/.ladle/**',
2022-05-18 07:26:57 +00:00
'public',
'packages/web/app/src/graphql/index.ts',
'packages/libraries/cli/src/sdk.ts',
2023-07-04 15:19:45 +00:00
'packages/libraries/cli/src/gql/**/*',
2022-05-20 11:51:02 +00:00
'packages/services/storage/src/db/types.ts',
'packages/web/app/src/gql/**/*',
'codegen.cjs',
'tsup',
'packages/libraries/render-laboratory/src/laboratory.ts',
'packages/web/app/vite.config.ts',
2022-05-18 07:26:57 +00:00
],
overrides: [
{
// Setup GraphQL Parser
files: '*.{graphql,gql}',
parser: '@graphql-eslint/eslint-plugin',
plugins: ['@graphql-eslint'],
parserOptions: {
2026-03-25 08:56:26 +00:00
schema: SCHEMA_PATH,
operations: OPERATIONS_PATHS,
2022-05-18 07:26:57 +00:00
},
rules: {
'@graphql-eslint/no-deprecated': 'error',
'@graphql-eslint/require-id-when-available': 'error',
},
},
{
// Setup processor for operations/fragments definitions on code-files
files: ['packages/web/app/**/*.tsx', 'packages/web/app/**/*.ts'],
processor: '@graphql-eslint/graphql',
},
{
files: ['packages/web/app/**/*.graphql'],
2024-05-22 07:55:27 +00:00
plugins: ['@graphql-eslint'],
rules: {
'@graphql-eslint/no-deprecated': 'error',
'@graphql-eslint/require-id-when-available': 'error',
},
},
2025-09-18 19:32:49 +00:00
{
files: ['*.cjs'],
parserOptions: { ecmaVersion: 2020 },
},
{
files: ['packages/**/*.ts', 'packages/**/*.tsx', 'cypress/**/*.ts', 'cypress/**/*.tsx'],
reportUnusedDisableDirectives: true,
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module',
project: [path.join(__dirname, './tsconfig.eslint.json')],
},
parser: '@typescript-eslint/parser',
plugins: [...guildConfig.plugins, 'hive'],
extends: guildConfig.extends,
rules: {
'no-process-env': 'error',
'no-empty': ['error', { allowEmptyCatch: true }],
'import/no-absolute-path': 'error',
'import/no-self-import': 'error',
'import/no-extraneous-dependencies': [
'error',
{
devDependencies: [
'packages/services/storage/tools/*.js',
'packages/services/**',
'packages/migrations/**',
// We bundle it all anyway, so there are no node_modules
'packages/web/app/**',
2026-03-06 21:37:08 +00:00
// We bundle it all anyway, so there are no node_modules
'packages/libraries/laboratory/**',
'**/*.spec.ts',
'**/*.test.ts',
2026-01-25 20:38:44 +00:00
'**/*.e2e.ts',
],
optionalDependencies: false,
},
],
'hive/enforce-deps-in-dev': [
'error',
{
scopes: ['@hive', '@graphql-hive'],
ignored: ['packages/libraries/**', 'packages/web/**'],
},
],
'@typescript-eslint/no-floating-promises': 'error',
'sonarjs/no-unused-collection': 'warn',
'sonarjs/no-inverted-boolean-check': 'warn',
...rulesToExtends,
'no-lonely-if': 'off',
'object-shorthand': 'off',
'no-restricted-syntax': ['error', ...HIVE_RESTRICTED_SYNTAX, ...RESTRICTED_SYNTAX],
'prefer-destructuring': 'off',
'prefer-const': 'off',
2024-08-07 08:41:58 +00:00
'no-useless-escape': 'off',
'no-inner-declarations': 'off',
'@typescript-eslint/no-unnecessary-type-assertion': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-namespace': 'off',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/triple-slash-reference': 'off',
'@typescript-eslint/no-unused-vars': [
'error',
{
argsIgnorePattern: '^_',
caughtErrors: 'none',
caughtErrorsIgnorePattern: '^_',
destructuredArrayIgnorePattern: '^_',
varsIgnorePattern: '^_',
},
],
},
},
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
{
2023-01-09 11:45:20 +00:00
files: ['packages/web/**'],
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
extends: [
2023-01-09 11:45:20 +00:00
'@theguild',
'@theguild/eslint-config/react',
'plugin:better-tailwindcss/legacy-recommended',
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
'plugin:@next/next/recommended',
],
settings: {
2023-02-19 02:50:29 +00:00
'import/resolver': {
typescript: {
project: ['packages/web/app/tsconfig.json'],
},
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
},
},
rules: {
// conflicts with official prettier-plugin-tailwindcss and tailwind v3
'better-tailwindcss/enforce-consistent-class-order': 'off',
2026-02-03 16:00:15 +00:00
'better-tailwindcss/enforce-canonical-classes': 'off',
// keeping classes in one line helps prettier-plugin-tailwindcss
// enable wrapping in text editors to make classes human readable
'better-tailwindcss/enforce-consistent-line-wrapping': 'off',
'better-tailwindcss/enforce-shorthand-classes': 'off',
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
'react/display-name': 'off',
'react/prop-types': 'off',
'react/no-unknown-property': 'off',
'jsx-a11y/anchor-is-valid': ['off', { components: ['Link', 'NextLink'] }],
'jsx-a11y/alt-text': ['warn', { elements: ['img'], img: ['Image', 'NextImage'] }],
'no-restricted-syntax': ['error', ...HIVE_RESTRICTED_SYNTAX, ...REACT_RESTRICTED_SYNTAX],
'prefer-destructuring': 'off',
2023-01-09 11:45:20 +00:00
'no-console': 'off',
2024-08-07 08:41:58 +00:00
'no-useless-escape': 'off',
2023-01-09 11:45:20 +00:00
'@typescript-eslint/no-non-null-assertion': 'off',
'react/jsx-no-useless-fragment': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-empty-function': 'off',
2025-10-08 07:56:32 +00:00
'react-hooks/rules-of-hooks': 'error',
2023-01-09 11:45:20 +00:00
'react-hooks/exhaustive-deps': 'off',
'unicorn/filename-case': 'off',
'import/no-default-export': 'off',
'@next/next/no-img-element': 'off',
'@typescript-eslint/ban-types': 'off',
'jsx-a11y/label-has-associated-control': 'off',
'jsx-a11y/click-events-have-key-events': 'off',
'jsx-a11y/no-static-element-interactions': 'off',
'@next/next/no-html-link-for-pages': 'off',
'unicorn/no-negated-condition': 'off',
'no-implicit-coercion': 'off',
2025-09-18 19:32:49 +00:00
'react/jsx-key': 'warn',
2023-01-09 11:45:20 +00:00
},
},
{
files: ['packages/web/app/**'],
settings: {
'better-tailwindcss': {
// tailwindcss 4: the path to the entry file of the css based tailwind config (eg: `src/global.css`)
entryPoint: 'packages/web/app/src/index.css',
callees: tailwindCallees,
2023-01-09 11:45:20 +00:00
},
},
rules: {
// better-tailwindcss assumes you're using v4...we're being explicit here due to our dual tailwind setups
'better-tailwindcss/no-deprecated-classes': 'error',
// Tailwind v4 uses CSS variables without var() syntax
'better-tailwindcss/enforce-consistent-variable-syntax': 'off',
'better-tailwindcss/no-unknown-classes': [
'error',
{
ignore: [
'drag-none',
// Animation utilities (from index.css, replaces tailwindcss-animate)
'animate-in',
'animate-out',
'fade-in-.*',
'fade-out-.*',
'zoom-in-.*',
'zoom-out-.*',
'slide-in-from-.*',
'slide-out-to-.*',
// Custom radius from @theme
'rounded-xs',
// ring-offset with semantic colors
'ring-offset-.*',
// Data attribute variants with custom animations (for Radix UI components)
'data-\\[side=(top|right|bottom|left)\\]:animate-slide-(up|down|left|right)-fade',
// GraphiQL classes
'graphiql-.*',
// hive classes
'hive-.*',
// Schema diff custom classes (defined in index.css)
'schema-doc-row-.*',
// No scrollbar utility (defined in index.css)
'no-scrollbar',
// Tailwind v4 CSS variable syntax with parentheses
'.*-\\(--.*\\)',
],
},
],
},
2023-01-09 11:45:20 +00:00
},
2025-10-08 07:56:32 +00:00
{
files: ['packages/web/app/**/*.stories.tsx', 'packages/web/docs/**'],
rules: {
'react-hooks/rules-of-hooks': 'off',
},
},
2023-01-09 11:45:20 +00:00
{
files: ['packages/web/docs/**'],
settings: {
next: {
rootDir: 'packages/web/docs',
},
'better-tailwindcss': {
// tailwindcss 3: the path to the tailwind config file (eg: `tailwind.config.js`)
tailwindConfig: 'packages/web/docs/tailwind.config.ts',
callees: tailwindCallees,
2023-01-09 11:45:20 +00:00
},
},
rules: {
'import/extensions': 'off',
// better-tailwindcss assumes you're using v4...we're being explicit here due to our dual tailwind setups
'better-tailwindcss/no-deprecated-classes': 'off',
'better-tailwindcss/no-unknown-classes': [
'error',
{
ignore: [
'light',
'hive-focus',
'hive-focus-within',
'nextra-focus',
'nextra-scrollbar',
'no-scrollbar', // from Nextra
'hive-slider',
'hive-prose',
'subheader',
'subheading-anchor',
'duration-\\[.*\\]', // Allow arbitrary duration values like duration-[.8s]
'ease-\\[var\\(--.*\\)\\]', // Allow CSS variables in arbitrary ease values
'x:.*', // Allow Nextra 4 custom variant prefix
],
},
],
// Allow CSS variables in arbitrary values for Tailwind v3
'better-tailwindcss/enforce-consistent-variable-syntax': 'off',
},
2023-01-09 11:45:20 +00:00
},
{
files: 'cypress/**',
extends: 'plugin:cypress/recommended',
rules: {
'cypress/no-unnecessary-waiting': 'off',
'cypress/unsafe-to-chain-command': 'off',
},
},
{
files: [
// environment should be parsed to avoid global dependencies and sacred .env files
'packages/**/environment.ts',
// - environment is inlined and must be "registered" in next.config.js
// - `import.meta.env` is not supported in Next.js yet
'packages/web/docs/**',
],
rules: {
'no-process-env': 'off',
},
},
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
],
2022-05-18 07:26:57 +00:00
};