Skip to content

Commit

Permalink
setup guild eslint config (#8797)
Browse files Browse the repository at this point in the history
* setup guild eslint config

* remove unused eslint directives

* sort imports

* sort imports

* sort imports
  • Loading branch information
dimaMachina authored Jan 7, 2023
1 parent fe12b48 commit 5ea74e3
Show file tree
Hide file tree
Showing 103 changed files with 1,167 additions and 686 deletions.
67 changes: 67 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
module.exports = {
root: true,
extends: ['@theguild'],
rules: {
'no-empty': 'off',
'no-console': 'error',
'no-prototype-builtins': 'off',
'no-useless-constructor': 'off',
'no-unused-vars': 'off',
'object-shorthand': ['error', 'always'],
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/no-namespace': 'off',
'no-unreachable-loop': 'error',
'@typescript-eslint/no-empty-interface': 'off',
'prefer-arrow-callback': 'error',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-var-requires': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/ban-ts-ignore': 'off',
'@typescript-eslint/ban-types': 'off',
'no-lonely-if': 'error',
'import/no-extraneous-dependencies': [
'error',
{ devDependencies: ['**/*.test.ts', '**/*.spec.ts', '**/test/**/*.ts'] },
],

// todo: enable
'unicorn/prefer-node-protocol': 'off',
'no-restricted-syntax': 'off',
'unicorn/filename-case': 'off',
'import/extensions': 'off',
'no-implicit-coercion': 'off',
'unicorn/numeric-separators-style': 'off',
'import/no-default-export': 'off',
'unicorn/no-lonely-if': 'off',
'unicorn/no-useless-spread': 'off',
'simple-import-sort/exports': 'off',
'unicorn/no-array-push-push': 'off',
'no-else-return': 'off',
'no-undef': 'off',
'import/first': 'off',
'n/no-restricted-import': 'off',
'import/no-duplicates': 'off',
},
env: {
es6: true,
node: true,
},
overrides: [
{
files: ['**/tests/**/*.ts', '**/graphql-codegen-testing/**/*.ts', '*.spec.ts'],
env: {
jest: true,
},
rules: {
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'import/no-extraneous-dependencies': 'off',
},
},
],
ignorePatterns: ['dist', 'node_modules', 'dev-test', 'website', 'test-files', 'examples/front-end', '.bob'],
};
53 changes: 0 additions & 53 deletions .eslintrc.json

This file was deleted.

3 changes: 2 additions & 1 deletion examples/programmatic-typescript/src/gql.generated.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { GraphQLResolveInfo } from 'graphql';
import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
import type { GraphQLResolveInfo } from 'graphql';

export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
Expand Down
9 changes: 3 additions & 6 deletions examples/programmatic-typescript/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
/* eslint-disable no-console */

import { promises } from 'fs';
import { getCachedDocumentNodeFromSchema } from '@graphql-codegen/plugin-helpers';
import gql from 'graphql-tag';
import prettier from 'prettier';

import { codegen } from '@graphql-codegen/core';
import { getCachedDocumentNodeFromSchema } from '@graphql-codegen/plugin-helpers';
import * as typedDocumentNode from '@graphql-codegen/typed-document-node';
import * as typescript from '@graphql-codegen/typescript';
import * as typescriptOperations from '@graphql-codegen/typescript-operations';
import * as typescriptResolvers from '@graphql-codegen/typescript-resolvers';
import { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader';
import { loadDocuments } from '@graphql-tools/load';
import { makeExecutableSchema } from '@graphql-tools/schema';

import gql from 'graphql-tag';
import prettier from 'prettier';
import type { Resolvers } from './gql.generated.js';

const schema = makeExecutableSchema({
Expand Down
2 changes: 1 addition & 1 deletion examples/typescript-esm/src/executeOperation.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as https from 'node:https';
import type { TypedDocumentNode } from '@graphql-typed-document-node/core';
import type { ExecutionResult } from 'graphql';
import { print } from 'graphql';
import * as https from 'node:https';

export function executeOperation<TResult, TVariables>(
url: string,
Expand Down
3 changes: 1 addition & 2 deletions examples/typescript-esm/src/gql/gql.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/* eslint-disable */
import * as graphql from './graphql.js';
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
import * as graphql from './graphql.js';

const documents = {
'\n query AllPeopleQuery {\n allPeople(first: 5) {\n edges {\n node {\n name\n homeworld {\n name\n }\n }\n }\n }\n }\n':
Expand Down
2 changes: 1 addition & 1 deletion examples/typescript-esm/src/gql/graphql.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* eslint-disable */
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';

export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
Expand Down
1 change: 1 addition & 0 deletions examples/typescript-resolvers/src/type-defs.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { GraphQLResolveInfo } from 'graphql';

export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"@graphql-typed-document-node/core": "3.1.1",
"@reduxjs/toolkit": "1.8.5",
"@tanstack/react-query": "4.2.3",
"@theguild/eslint-config": "0.4.2",
"@theguild/prettier-config": "0.1.1",
"@types/common-tags": "1.8.1",
"@types/jest": "28.1.8",
Expand Down
4 changes: 2 additions & 2 deletions packages/graphql-cli-codegen-plugin/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { defineCommand } from '@graphql-cli/common';
import {
CodegenExtension,
buildOptions,
CodegenContext,
CodegenExtension,
generate,
updateContextWithCliFlags,
buildOptions,
YamlCliFlags,
} from '@graphql-codegen/cli';

Expand Down
4 changes: 2 additions & 2 deletions packages/graphql-codegen-cli/src/cli.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { generate } from './generate-and-save.js';
import { init } from './init/index.js';
import { createContext } from './config.js';
import { generate } from './generate-and-save.js';
import { lifecycleHooks } from './hooks.js';
import { init } from './init/index.js';

export async function runCli(cmd: string): Promise<number> {
await ensureGraphQlPackage();
Expand Down
26 changes: 12 additions & 14 deletions packages/graphql-codegen-cli/src/codegen.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,23 @@
import fs from 'fs';
import { createRequire } from 'module';
import { cpus } from 'os';
import path from 'path';
import { codegen } from '@graphql-codegen/core';
import {
Types,
CodegenPlugin,
normalizeOutputParam,
normalizeInstanceOrArray,
normalizeConfig,
getCachedDocumentNodeFromSchema,
normalizeConfig,
normalizeInstanceOrArray,
normalizeOutputParam,
Types,
} from '@graphql-codegen/plugin-helpers';
import { codegen } from '@graphql-codegen/core';

import { AggregateError } from '@graphql-tools/utils';

import { GraphQLError, GraphQLSchema, DocumentNode } from 'graphql';
import { DocumentNode, GraphQLError, GraphQLSchema } from 'graphql';
import { Listr, ListrTask } from 'listr2';
import { CodegenContext, ensureContext, shouldEmitLegacyCommonJSImports } from './config.js';
import { getPluginByName } from './plugins.js';
import { getPresetByName } from './presets.js';
import { debugLog, printLogs } from './utils/debugging.js';
import { CodegenContext, ensureContext, shouldEmitLegacyCommonJSImports } from './config.js';
import fs from 'fs';
import path from 'path';
import { cpus } from 'os';
import { createRequire } from 'module';
import { Listr, ListrTask } from 'listr2';

/**
* Poor mans ESM detection.
Expand Down
24 changes: 12 additions & 12 deletions packages/graphql-codegen-cli/src/config.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
import { cosmiconfig, defaultLoaders } from 'cosmiconfig';
import { TypeScriptLoader } from 'cosmiconfig-typescript-loader';
import { createHash } from 'crypto';
import { promises } from 'fs';
import { createRequire } from 'module';
import { resolve } from 'path';
import {
Types,
Profiler,
createProfiler,
createNoopProfiler,
createProfiler,
getCachedDocumentNodeFromSchema,
Profiler,
Types,
} from '@graphql-codegen/plugin-helpers';
import { cosmiconfig, defaultLoaders } from 'cosmiconfig';
import { TypeScriptLoader } from 'cosmiconfig-typescript-loader';
import { GraphQLSchema, GraphQLSchemaExtensions, print } from 'graphql';
import { GraphQLConfig } from 'graphql-config';
import { env } from 'string-env-interpolation';
import yaml from 'yaml';
import yargs from 'yargs';
import { GraphQLConfig } from 'graphql-config';
import { findAndLoadGraphQLConfig } from './graphql-config.js';
import { loadSchema, loadDocuments, defaultSchemaLoadOptions, defaultDocumentsLoadOptions } from './load.js';
import { GraphQLSchema, print, GraphQLSchemaExtensions } from 'graphql';
import yaml from 'yaml';
import { createRequire } from 'module';
import { promises } from 'fs';
import { createHash } from 'crypto';
import { defaultDocumentsLoadOptions, defaultSchemaLoadOptions, loadDocuments, loadSchema } from './load.js';

const { lstat } = promises;

Expand Down
12 changes: 6 additions & 6 deletions packages/graphql-codegen-cli/src/generate-and-save.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { lifecycleHooks } from './hooks.js';
import { createHash } from 'crypto';
import { dirname, isAbsolute, join } from 'path';
import { Types } from '@graphql-codegen/plugin-helpers';
import { executeCodegen } from './codegen.js';
import { createWatcher } from './utils/watcher.js';
import { readFile, writeFile, unlinkFile, mkdirp } from './utils/file-system.js';
import { dirname, join, isAbsolute } from 'path';
import { debugLog } from './utils/debugging.js';
import { CodegenContext, ensureContext } from './config.js';
import { createHash } from 'crypto';
import { lifecycleHooks } from './hooks.js';
import { debugLog } from './utils/debugging.js';
import { mkdirp, readFile, unlinkFile, writeFile } from './utils/file-system.js';
import { createWatcher } from './utils/watcher.js';

const hash = (content: string): string => createHash('sha1').update(content).digest('base64');

Expand Down
2 changes: 1 addition & 1 deletion packages/graphql-codegen-cli/src/graphql-config.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { loadConfig, GraphQLExtensionDeclaration, GraphQLConfig } from 'graphql-config';
import { ApolloEngineLoader } from '@graphql-tools/apollo-engine-loader';
import { CodeFileLoader } from '@graphql-tools/code-file-loader';
import { GitLoader } from '@graphql-tools/git-loader';
import { GithubLoader } from '@graphql-tools/github-loader';
import { PrismaLoader } from '@graphql-tools/prisma-loader';
import { GraphQLConfig, GraphQLExtensionDeclaration, loadConfig } from 'graphql-config';

export const CodegenExtension: GraphQLExtensionDeclaration = (api: any) => {
// Schema
Expand Down
4 changes: 2 additions & 2 deletions packages/graphql-codegen-cli/src/hooks.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Types } from '@graphql-codegen/plugin-helpers';
import { debugLog } from './utils/debugging.js';
import { exec } from 'child_process';
import { delimiter, sep } from 'path';
import { Types } from '@graphql-codegen/plugin-helpers';
import { quote } from 'shell-quote';
import { debugLog } from './utils/debugging.js';

const DEFAULT_HOOKS: Types.LifecycleHooksDefinition = {
afterStart: [],
Expand Down
14 changes: 7 additions & 7 deletions packages/graphql-codegen-cli/src/init/helpers.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import chalk from 'chalk';
import { resolve, relative } from 'path';
import { writeFileSync, readFileSync } from 'fs';
import { readFileSync, writeFileSync } from 'fs';
import { relative, resolve } from 'path';
import generate from '@babel/generator';
import template from '@babel/template';
import * as t from '@babel/types';
import { Types } from '@graphql-codegen/plugin-helpers';
import chalk from 'chalk';
import detectIndent from 'detect-indent';
import { Answers, Tags } from './types.js';
import { getLatestVersion } from '../utils/get-latest-version.js';
import template from '@babel/template';
import generate from '@babel/generator';
import * as t from '@babel/types';
import { Answers, Tags } from './types.js';

function jsObjectToBabelObjectExpression<T extends object>(obj: T): ReturnType<typeof t.objectExpression> {
const objExp = t.objectExpression([]);
Expand Down
4 changes: 2 additions & 2 deletions packages/graphql-codegen-cli/src/init/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import inquirer from 'inquirer';
import { Types } from '@graphql-codegen/plugin-helpers';
import inquirer from 'inquirer';
import { bold, writeConfig, writePackage } from './helpers.js';
import { getQuestions } from './questions.js';
import { guessTargets } from './targets.js';
import { Answers, Tags } from './types.js';
import { writeConfig, writePackage, bold } from './helpers.js';

function log(...msgs: string[]) {
// eslint-disable-next-line no-console
Expand Down
2 changes: 1 addition & 1 deletion packages/graphql-codegen-cli/src/init/questions.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import inquirer from 'inquirer';
import { grey } from './helpers.js';
import { Tags, Answers } from './types.js';
import { plugins } from './plugins.js';
import { Answers, Tags } from './types.js';

export function getQuestions(possibleTargets: Record<Tags, boolean>): inquirer.QuestionCollection {
return [
Expand Down
2 changes: 1 addition & 1 deletion packages/graphql-codegen-cli/src/init/targets.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { resolve } from 'path';
import { readFileSync } from 'fs';
import { resolve } from 'path';
import { Tags } from './types.js';

export async function guessTargets(): Promise<Record<Tags, boolean>> {
Expand Down
Loading

0 comments on commit 5ea74e3

Please sign in to comment.