From b3b68478613ce608cb734c8f73815f586355b255 Mon Sep 17 00:00:00 2001 From: Philip Ermish Date: Tue, 5 Dec 2023 15:51:25 +0900 Subject: [PATCH] migrated eslint to flat config (#296) --- .eslintrc.js | 156 -------- app-coming-soon.vue | 4 +- {static => assets}/favicon.ico | Bin {static => assets}/findadoc-social.png | Bin components/MapContainer.vue | 2 - eslint.config.js | 138 +++++++ nuxt.config.js | 2 +- package.json | 14 +- pages/about.vue | 3 +- tsconfig.json | 42 ++- typedefs/gqlTypes.ts | 497 ++++++++++++++++++++----- typesgeneratorconfig.ts | 2 +- yarn.lock | 242 +++++++++--- 13 files changed, 763 insertions(+), 339 deletions(-) delete mode 100644 .eslintrc.js rename {static => assets}/favicon.ico (100%) rename {static => assets}/findadoc-social.png (100%) create mode 100644 eslint.config.js diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 1579f41c..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,156 +0,0 @@ -module.exports = { - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@typescript-eslint/parser', - ecmaVersion: 2022, - sourceType: 'module', - extraFileExtensions: ['.json'] - }, - env: { - node: true, - es6: true, - jest: true, - 'cypress/globals': true - }, - plugins: ['@typescript-eslint', 'eslint-plugin-json', 'cypress'], - extends: ['eslint:recommended', 'plugin:vue/vue3-strongly-recommended'], - root: true, - ignorePatterns: ['typedefs/gqlTypes.ts'], - // 'off' or 0 - turn the rule off - // 'warn' or 1 - turn the rule on as a warning (doesn’t affect exit code) - // 'error' or 2 - turn the rule on as an error (exit code will be 1) - rules: { - // Best Practices - 'block-scoped-var': 'error', - complexity: ['error', { max: 40 }], - 'consistent-return': 'error', - curly: ['error', 'multi'], - 'dot-location': ['error', 'property'], - 'dot-notation': ['error', { allowPattern: '^[a-z]+(_[a-z]+)+$' }], - eqeqeq: ['error', 'smart'], - 'no-alert': 'error', - 'no-multi-spaces': 'error', - 'no-param-reassign': 'off', - 'no-redeclare': 'error', - 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }], - 'vars-on-top': 'off', - yoda: ['error', 'never', { exceptRange: true }], - 'no-console': 'warn', // For debugging, but throw warnings so logs are not committed. - 'no-useless-escape': 'warn', - // Stylistic Issues - 'arrow-body-style': 'error', - 'array-bracket-spacing': ['error', 'never'], - 'arrow-parens': ['error', 'as-needed'], - 'arrow-spacing': 'error', - 'block-spacing': ['error', 'always'], - 'brace-style': ['error', '1tbs', { allowSingleLine: true }], - camelcase: 'error', - 'comma-dangle': ['error', 'never'], - 'comma-spacing': ['error', { before: false, after: true }], - 'comma-style': ['error', 'last'], - 'computed-property-spacing': ['error', 'never'], - 'function-paren-newline': ['error', 'consistent'], - indent: [ - 'error', - 4, - { - MemberExpression: 1, - SwitchCase: 1, - ArrayExpression: 'first', - ObjectExpression: 1, - FunctionDeclaration: { parameters: 'off' }, - VariableDeclarator: { var: 2, let: 2, const: 3 }, - CallExpression: { arguments: 'first' }, - ignoredNodes: ['JSXElement *'] - } - ], - 'key-spacing': ['error', { beforeColon: false, afterColon: true }], - 'keyword-spacing': ['error', { before: true, after: true }], - 'linebreak-style': ['error', 'unix'], // no carriage returns - 'max-len': ['error', { code: 140 }], // be friendly to laptops - 'newline-after-var': 'error', - 'require-atomic-updates': 'off', - 'no-constant-condition': 'error', - 'no-dupe-class-members': 'error', - 'no-lonely-if': 'error', - 'no-multiple-empty-lines': ['error', { max: 2, maxEOF: 1 }], // let my people push enter! - 'no-prototype-builtins': 'error', - 'no-underscore-dangle': 'error', - 'no-var': 'error', - 'object-curly-spacing': ['error', 'always'], - 'object-curly-newline': ['error', { consistent: true }], - 'object-property-newline': ['error', { allowAllPropertiesOnSameLine: true }], - 'object-shorthand': ['error', 'methods'], - 'operator-linebreak': ['off', 'before'], - 'padded-blocks': ['error', 'never'], - // adds a lot of blank lines 🤔 - 'padding-line-between-statements': [ - 'error', - { blankLine: 'any', prev: ['const', 'let', 'var'], next: '*' }, - { blankLine: 'any', prev: ['const', 'let', 'var'], next: ['const', 'let', 'var'] }, - { blankLine: 'always', prev: '*', next: 'return' } - ], - 'prefer-arrow-callback': 'error', - 'prefer-const': 'error', - 'prefer-spread': 'error', - 'prefer-template': 'error', - 'quote-props': ['error', 'as-needed'], - quotes: ['error', 'single', 'avoid-escape'], - 'semi-spacing': ['error', { before: false, after: true }], - 'space-before-blocks': 'error', - 'space-before-function-paren': [ - 'error', - { - anonymous: 'never', - named: 'never', - asyncArrow: 'always' - } - ], - 'space-in-parens': 'error', - 'space-infix-ops': 'error', - semi: ['error', 'never'], - - // Strict Move - strict: 'off', - - // Variables - 'no-shadow': 'error', - - // Vue - 'vue/multi-word-component-names': ['off', { - ignores: ['index'] - }], - 'vue/html-indent': ['error', 4, { - attribute: 1, - baseIndent: 1, - closeBracket: 0, - alignAttributesVertically: false, - ignores: [] - }], - 'vue/max-attributes-per-line': ['error', { - singleline: { - max: 4 - }, - multiline: { - max: 4 - } - }], - 'vue/html-self-closing': ['error', { html: { normal: 'never', void: 'always' } }], - 'vue/html-closing-bracket-newline': ['error', { - singleline: 'never', - multiline: 'never' - }], - 'vue/first-attribute-linebreak': ['error', { - singleline: 'beside', - multiline: 'beside' - }], - 'vue/block-lang': ['error', - { - script: { - lang: 'ts' - } - } - ] - - } -} diff --git a/app-coming-soon.vue b/app-coming-soon.vue index 295bced7..e7b6f995 100644 --- a/app-coming-soon.vue +++ b/app-coming-soon.vue @@ -19,8 +19,8 @@
*Screens are for illustration purposes only - +
diff --git a/static/favicon.ico b/assets/favicon.ico similarity index 100% rename from static/favicon.ico rename to assets/favicon.ico diff --git a/static/findadoc-social.png b/assets/findadoc-social.png similarity index 100% rename from static/findadoc-social.png rename to assets/findadoc-social.png diff --git a/components/MapContainer.vue b/components/MapContainer.vue index 60515f4c..8e45829c 100644 --- a/components/MapContainer.vue +++ b/components/MapContainer.vue @@ -16,7 +16,6 @@ import { useRuntimeConfig } from '#imports' import customIcon from '../assets/images/blue-map-pin.svg' import { useSearchResultsStore } from '../stores/searchResultsStore' - export default defineComponent({ components: { GoogleMap, GMarker }, setup() { @@ -35,7 +34,6 @@ export default defineComponent({ const mapRef = ref(null) - const runtimeConfig = useRuntimeConfig() return { center, diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..09be93e7 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,138 @@ +import globals from 'globals' +import tsPlugin from '@typescript-eslint/eslint-plugin' +import tsParser from '@typescript-eslint/parser' +import vuePlugin from 'vue-eslint-parser' +import eslintJsPlugin from '@eslint/js' + +const gqlSchemaPath = '././typeDefs/schema.graphql' + +export default [ + // GLOBAL configuration + { + ignores: ['dist/*', + 'output/*', + '.nuxt/*', + 'coverage/*', + 'cypress/videos/*', + '.yarn/*' + ] + }, + // Typescript and JS Linter combined (for all the main code files) + { + languageOptions: { + parser: vuePlugin.parser, + // parserOptions: { + // parser: tsParser + // }, + globals: { + ...globals.node, + ...globals.es2021 + } + }, + files: [ + '__tests__/**/*.ts', + './**/*.{js,ts,vue}', + ], + plugins: { + '@typescript-eslint': tsPlugin, + tsPlugin, + vuePlugin + }, + ignores: [ + './typeDefs/gqlTypes.ts', + './typesgeneratorconfig.ts', + ], + // 'off' or 0 - turn the rule off + // 'warn' or 1 - turn the rule on as a warning (doesn’t affect exit code) + // 'error' or 2 - turn the rule on as an error (exit code will be 1) + rules: { + // TS specific rules + ...tsPlugin.configs['eslint-recommended'].rules, + ...tsPlugin.configs.recommended.rules, + '@typescript-eslint/no-shadow': 'error', + '@typescript-eslint/no-unused-vars': 'error', + + // JS specific rules + ...eslintJsPlugin.configs.recommended.rules, + // HACK: this eslint core rule is turned off so that the typescript-eslint version can be used instead + 'no-unused-vars': 'off', + 'block-scoped-var': 'error', + complexity: ['error', { max: 40 }], + 'consistent-return': 'error', + curly: 'error', + 'dot-location': ['error', 'property'], + 'dot-notation': ['error', { allowPattern: '^[a-z]+(_[a-z]+)+$' }], + 'no-alert': 'error', + 'no-multi-spaces': 'error', + 'no-redeclare': 'error', + 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }], + 'vars-on-top': 'off', + yoda: ['error', 'never', { exceptRange: true }], + 'no-console': 'error', // we should use the logger instead + + // Stylistic Issues and Opinions + 'arrow-body-style': 'error', + 'array-bracket-spacing': ['error', 'never'], + 'arrow-parens': ['error', 'as-needed'], + 'arrow-spacing': 'error', + 'block-spacing': ['error', 'always'], + 'brace-style': ['error', '1tbs', { allowSingleLine: true }], + camelcase: ['error', { allow: ['639_3'] }], + 'comma-dangle': ['error', 'never'], + 'comma-spacing': ['error', { before: false, after: true }], + 'comma-style': 'error', + 'computed-property-spacing': ['error', 'never'], + 'function-paren-newline': ['error', 'consistent'], + indent: [ + 'error', + 4, + { + MemberExpression: 1, + SwitchCase: 1, + ArrayExpression: 'first', + ObjectExpression: 1, + FunctionDeclaration: { parameters: 'off' }, + VariableDeclarator: { var: 2, let: 2, const: 3 }, + CallExpression: { arguments: 'first' } + } + ], + 'key-spacing': ['error', { beforeColon: false, afterColon: true }], + 'keyword-spacing': ['error', { before: true, after: true }], + 'linebreak-style': ['error', 'unix'], // no carriage returns + 'max-len': ['error', { + code: 130, + ignoreComments: true, + ignoreTrailingComments: true, + ignoreUrls: true, + ignoreStrings: true, + ignoreTemplateLiterals: true, + ignoreRegExpLiterals: true + }], // be friendly to laptops + 'padding-line-between-statements': 'off', //we can choose newlines after variable declarations + 'require-atomic-updates': 'warn', + 'no-constant-condition': 'error', + 'no-dupe-class-members': 'error', + 'no-lonely-if': 'error', + 'no-multiple-empty-lines': ['error', { max: 1, maxEOF: 1 }], + 'no-underscore-dangle': 'error', + 'no-var': 'error', + 'object-curly-newline': ['error', { consistent: true }], + 'object-property-newline': ['error', { allowAllPropertiesOnSameLine: true }], + 'object-shorthand': ['error', 'methods'], + 'operator-linebreak': [0, 'before'], + 'padded-blocks': ['error', 'never'], + 'prefer-arrow-callback': 'error', + 'prefer-const': 'error', + 'prefer-spread': 'error', + 'prefer-template': 'error', + 'quote-props': ['error', 'as-needed'], + quotes: ['error', 'single', 'avoid-escape'], + semi: ['error', 'never'], + 'semi-spacing': 'error', + 'space-before-blocks': 'error', + 'space-before-function-paren': ['error', { anonymous: 'never', named: 'never', asyncArrow: 'always' }], + 'space-in-parens': 'error', + 'space-infix-ops': 'error' + } + } +] diff --git a/nuxt.config.js b/nuxt.config.js index fb9f6c46..91dddf4f 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -82,7 +82,7 @@ export default defineNuxtConfig({ content: 'https://www.findadoc.jp' } ], - link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }] + link: [{ rel: 'icon', type: 'image/x-icon', href: '/assets/favicon.ico' }] }, // Global CSS: https://go.nuxtjs.dev/config-css diff --git a/package.json b/package.json index 6cfb04e5..106f02d2 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,10 @@ "prepare": "husky install", "dev": "yarn && nuxi dev", "generate": "graphql-codegen --config ./typesgeneratorconfig.ts", - "lint": "eslint . -c .eslintrc.js --ext .vue,.js,.ts,.json --ignore-path .gitignore && stylelint **/*.{vue,css,scss} --ignore-path .gitignore", - "lint:ci": "eslint . --config .eslintrc.js --ext .js,.jsx,.ts,.tsx,.vue --format @microsoft/eslint-formatter-sarif --output-file eslint-results.sarif --ignore-path .gitignore", + "lint": "eslint . -c eslint.config.js && stylelint **/*.{vue,css,scss} --ignore-path .gitignore", + "lint:ci": "eslint . --config eslint.config.js --format @microsoft/eslint-formatter-sarif --output-file eslint-results.sarif", "lint:css": "stylelint '**/*.{vue,css,scss}' --ignore-path .gitignore -f verbose", - "prod:build": "yarn generate && nuxi generate", + "prod:build": "yarn && yarn generate && nuxi generate", "prod:start": "nuxi start", "prepare:ci": "nuxi prepare", "start:test": "start-server-and-test 'yarn start' 3000 'yarn test:e2e'", @@ -27,7 +27,7 @@ "@pinia/nuxt": "^0.5.1", "graphql": "^16.8.1", "pinia": "^2.1.7", - "vue": "^3.3.9", + "vue": "^3.3.10", "vue-gtag": "^2.0.1", "vue-router": "^4.2.5", "vue-server-renderer": "^2.7.15", @@ -42,9 +42,9 @@ "@nuxt/types": "^2.17.2", "@nuxtjs/i18n": "next", "@testing-library/vue": "^6.6.1", - "@typescript-eslint/eslint-plugin": "^6.13.1", - "@typescript-eslint/parser": "^6.13.1", - "@vitejs/plugin-vue": "^4.5.1 ", + "@typescript-eslint/eslint-plugin": "^6.13.2", + "@typescript-eslint/parser": "^6.13.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/test-utils": "^2.2.6", "all-contributors-cli": "^6.24.0", "autoprefixer": "^10.4.16", diff --git a/pages/about.vue b/pages/about.vue index 27a046f8..ea334940 100644 --- a/pages/about.vue +++ b/pages/about.vue @@ -75,7 +75,6 @@ const members = ref([ title: 'Healthcare Content Lead', linkedInUrl: 'https://www.linkedin.com/in/russellmiller', githubUrl: 'https://github.com/ermish' - }, - + } ]) diff --git a/tsconfig.json b/tsconfig.json index efa7e514..456a7212 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,24 +1,34 @@ { - "extends": "./.nuxt/tsconfig.json", "compilerOptions": { - "target": "ES2018", - "module": "NodeNext", - "moduleResolution": "NodeNext", - "lib": ["ESNext", "ESNext.AsyncIterable", "DOM"], - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "isolatedModules": true, - "allowJs": false, - "sourceMap": true, - "strict": true, - "noEmit": true, - "experimentalDecorators": true, - "baseUrl": ".", + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Bundler", + "lib": [ + "esnext", + "DOM" + ], "paths": { "~/*": ["./*"], "@/*": ["./*"] }, - "types": ["@nuxt/types", "@types/node"] + "strict": true, + "outDir": "dist", + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "skipLibCheck": true + }, + "ts-node": { + "esm": true, + "swc": true }, - "exclude": ["node_modules", ".nuxt", "dist"] + "include": [ + "./**/*", + "utils/**/*", + "__tests__/*", + "typesgeneratorconfig.ts" + ], + "exclude": [ + "node_modules" + ] } diff --git a/typedefs/gqlTypes.ts b/typedefs/gqlTypes.ts index 4577588e..99541e34 100644 --- a/typedefs/gqlTypes.ts +++ b/typedefs/gqlTypes.ts @@ -1,4 +1,4 @@ -import { GraphQLResolveInfo } from 'graphql' +import { GraphQLResolveInfo } from 'graphql'; export type Maybe = T | null; export type InputMaybe = Maybe; export type Exact = { [K in keyof T]: T[K] }; @@ -16,52 +16,128 @@ export type Scalars = { export type Contact = { __typename?: 'Contact'; + address: PhysicalAddress; email: Scalars['String']; - mapsLink: Scalars['String']; + googleMapsUrl: Scalars['String']; phone: Scalars['String']; - website: Scalars['String']; + website?: Maybe; +}; + +export type ContactInput = { + address: PhysicalAddressInput; + email: Scalars['String']; + googleMapsUrl: Scalars['String']; + phone: Scalars['String']; + website?: InputMaybe; +}; + +export type CreateFacilityInput = { + contact: ContactInput; + healthcareProfessionalIds?: InputMaybe>; + nameEn: Scalars['String']; + nameJa: Scalars['String']; +}; + +export type CreateHealthcareProfessionalInput = { + acceptedInsurance?: InputMaybe>; + degrees?: InputMaybe>; + facilityIds: Array; + names: Array; + specialties?: InputMaybe>; + spokenLanguages?: InputMaybe>; +}; + +export type CreateSubmissionInput = { + googleMapsUrl?: InputMaybe; + healthcareProfessionalName?: InputMaybe; + spokenLanguages?: InputMaybe>; }; export type Degree = { __typename?: 'Degree'; abbreviation: Scalars['String']; - id: Scalars['ID']; nameEn: Scalars['String']; nameJa: Scalars['String']; }; export type DegreeInput = { abbreviation: Scalars['String']; - id: Scalars['ID']; nameEn: Scalars['String']; nameJa: Scalars['String']; }; +export type DeleteResult = { + __typename?: 'DeleteResult'; + isSuccessful: Scalars['Boolean']; +}; + export type Facility = { __typename?: 'Facility'; contact: Contact; - healthcareProfessionals: Array>; + createdDate: Scalars['String']; + healthcareProfessionalIds: Array; id: Scalars['ID']; nameEn: Scalars['String']; nameJa: Scalars['String']; + updatedDate: Scalars['String']; +}; + +export type FacilitySearchFilters = { + contact?: InputMaybe; + createdDate?: InputMaybe; + healthcareProfessionalName?: InputMaybe; + limit?: InputMaybe; + nameEn?: InputMaybe; + nameJa?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + updatedDate?: InputMaybe; +}; + +export type FacilitySubmission = { + __typename?: 'FacilitySubmission'; + contact?: Maybe; + healthcareProfessionalIds: Array; + id?: Maybe; + nameEn?: Maybe; + nameJa?: Maybe; }; export type HealthcareProfessional = { __typename?: 'HealthcareProfessional'; - acceptedInsurance: Array>; - degrees: Array>; + acceptedInsurance: Array; + createdDate: Scalars['String']; + degrees: Array; + facilityIds: Array; id: Scalars['ID']; - names: Array>; - specialties: Array>; - spokenLanguages: Array>; -}; - -export type HealthcareProfessionalInput = { - acceptedInsurance: Array>; - degrees: Array>; - names: Array>; - specialties: Array>; - spokenLanguages: Array>; + names: Array; + specialties: Array; + spokenLanguages: Array; + updatedDate: Scalars['String']; +}; + +export type HealthcareProfessionalSearchFilters = { + acceptedInsurance?: InputMaybe>; + createdDate?: InputMaybe; + degrees?: InputMaybe>; + limit?: InputMaybe; + names?: InputMaybe>; + offset?: InputMaybe; + orderBy?: InputMaybe>; + specialties?: InputMaybe>; + spokenLanguages?: InputMaybe>; + updatedDate?: InputMaybe; +}; + +export type HealthcareProfessionalSubmission = { + __typename?: 'HealthcareProfessionalSubmission'; + acceptedInsurance?: Maybe>; + degrees?: Maybe>; + facilityIds: Array; + id?: Maybe; + names: Array; + specialties?: Maybe>; + spokenLanguages: Array; }; export enum Insurance { @@ -70,55 +146,135 @@ export enum Insurance { JapaneseHealthInsurance = 'JAPANESE_HEALTH_INSURANCE' } -export type LocaleName = { - __typename?: 'LocaleName'; +export enum Locale { + EnUs = 'en_US', + JaJp = 'ja_JP' +} + +export type LocalizedName = { + __typename?: 'LocalizedName'; firstName: Scalars['String']; lastName: Scalars['String']; - locale: Scalars['String']; + locale: Locale; middleName?: Maybe; }; -export type LocaleNameInput = { +export type LocalizedNameInput = { firstName: Scalars['String']; lastName: Scalars['String']; - locale: Scalars['String']; + locale: Locale; middleName?: InputMaybe; }; export type Mutation = { __typename?: 'Mutation'; + createFacility?: Maybe; createHealthcareProfessional?: Maybe; + createSubmission?: Maybe; + deleteFacility?: Maybe; + deleteHealthcareProfessional?: Maybe; + deleteSubmission?: Maybe; + updateFacility?: Maybe; updateHealthcareProfessional?: Maybe; + updateSubmission?: Maybe; +}; + + +export type MutationCreateFacilityArgs = { + input: CreateFacilityInput; }; export type MutationCreateHealthcareProfessionalArgs = { - input?: InputMaybe; + input: CreateHealthcareProfessionalInput; +}; + + +export type MutationCreateSubmissionArgs = { + input: CreateSubmissionInput; +}; + + +export type MutationDeleteFacilityArgs = { + id: Scalars['ID']; +}; + + +export type MutationDeleteHealthcareProfessionalArgs = { + id: Scalars['ID']; +}; + + +export type MutationDeleteSubmissionArgs = { + id: Scalars['ID']; +}; + + +export type MutationUpdateFacilityArgs = { + id: Scalars['ID']; + input: UpdateFacilityInput; }; export type MutationUpdateHealthcareProfessionalArgs = { id: Scalars['ID']; - input?: InputMaybe; + input: UpdateHealthcareProfessionalInput; +}; + + +export type MutationUpdateSubmissionArgs = { + id: Scalars['ID']; + input: UpdateSubmissionInput; +}; + +export type OrderBy = { + fieldToOrder: Scalars['String']; + orderDirection: OrderDirection; +}; + +export enum OrderDirection { + Asc = 'asc', + Desc = 'desc' +} + +export type PhysicalAddress = { + __typename?: 'PhysicalAddress'; + addressLine1En: Scalars['String']; + addressLine1Ja: Scalars['String']; + addressLine2En: Scalars['String']; + addressLine2Ja: Scalars['String']; + cityEn: Scalars['String']; + cityJa: Scalars['String']; + postalCode: Scalars['String']; + prefectureEn: Scalars['String']; + prefectureJa: Scalars['String']; +}; + +export type PhysicalAddressInput = { + addressLine1En: Scalars['String']; + addressLine1Ja: Scalars['String']; + addressLine2En: Scalars['String']; + addressLine2Ja: Scalars['String']; + cityEn: Scalars['String']; + cityJa: Scalars['String']; + postalCode: Scalars['String']; + prefectureEn: Scalars['String']; + prefectureJa: Scalars['String']; }; export type Query = { __typename?: 'Query'; - degree?: Maybe; - degrees?: Maybe>>; facilities?: Maybe>>; facility?: Maybe; healthcareProfessional?: Maybe; healthcareProfessionals?: Maybe>>; - specialties?: Maybe>>; - specialty?: Maybe; - spokenLanguage?: Maybe; - spokenLanguages?: Maybe>>; + submission?: Maybe; + submissions?: Maybe>>; }; -export type QueryDegreeArgs = { - id: Scalars['ID']; +export type QueryFacilitiesArgs = { + filters: FacilitySearchFilters; }; @@ -132,51 +288,108 @@ export type QueryHealthcareProfessionalArgs = { }; -export type QuerySpecialtyArgs = { +export type QueryHealthcareProfessionalsArgs = { + filters: HealthcareProfessionalSearchFilters; +}; + + +export type QuerySubmissionArgs = { id: Scalars['ID']; }; -export type QuerySpokenLanguageArgs = { - iso639_3: Scalars['String']; +export type QuerySubmissionsArgs = { + filters: SubmissionSearchFilters; +}; + +export type Relationship = { + action: RelationshipAction; + otherEntityId: Scalars['ID']; }; +export enum RelationshipAction { + Create = 'CREATE', + Delete = 'DELETE', + Update = 'UPDATE' +} + export type Specialty = { __typename?: 'Specialty'; - id: Scalars['ID']; - names?: Maybe>>; + names: Array; }; export type SpecialtyInput = { - names?: InputMaybe>>; + names: Array; }; export type SpecialtyName = { __typename?: 'SpecialtyName'; - locale: Scalars['String']; + locale: Locale; name: Scalars['String']; }; export type SpecialtyNameInput = { - locale: Scalars['String']; + locale: Locale; name: Scalars['String']; }; -export type SpokenLanguage = { - __typename?: 'SpokenLanguage'; - iso639_3: Scalars['String']; - nameEn: Scalars['String']; - nameJa: Scalars['String']; - nameNative: Scalars['String']; +export type Submission = { + __typename?: 'Submission'; + createdDate: Scalars['String']; + facility?: Maybe; + googleMapsUrl: Scalars['String']; + healthcareProfessionalName: Scalars['String']; + healthcareProfessionals?: Maybe>; + id: Scalars['ID']; + isApproved: Scalars['Boolean']; + isRejected: Scalars['Boolean']; + isUnderReview: Scalars['Boolean']; + spokenLanguages: Array; + updatedDate: Scalars['String']; }; -export type SpokenLanguageInput = { - iso639_3: Scalars['String']; - nameEn: Scalars['String']; - nameJa: Scalars['String']; - nameNative: Scalars['String']; +export type SubmissionSearchFilters = { + createdDate?: InputMaybe; + googleMapsUrl?: InputMaybe; + healthcareProfessionalName?: InputMaybe; + isApproved?: InputMaybe; + isRejected?: InputMaybe; + isUnderReview?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + spokenLanguages?: InputMaybe>; + updatedDate?: InputMaybe; }; +export type UpdateFacilityInput = { + contact?: InputMaybe; + healthcareProfessionalIds?: InputMaybe>; + nameEn?: InputMaybe; + nameJa?: InputMaybe; +}; + +export type UpdateHealthcareProfessionalInput = { + acceptedInsurance?: InputMaybe>; + degrees?: InputMaybe>; + facilityIds?: InputMaybe>; + names?: InputMaybe>; + specialties?: InputMaybe>; + spokenLanguages?: InputMaybe>; +}; + +export type UpdateSubmissionInput = { + facility?: InputMaybe; + googleMapsUrl?: InputMaybe; + healthcareProfessionalName?: InputMaybe; + healthcareProfessionals?: InputMaybe>; + isApproved?: InputMaybe; + isRejected?: InputMaybe; + isUnderReview?: InputMaybe; + spokenLanguages?: InputMaybe>; +}; + + export type ResolverTypeWrapper = Promise | T; @@ -184,8 +397,7 @@ export type ResolverTypeWrapper = Promise | T; export type ResolverWithResolve = { resolve: ResolverFn; }; -export type Resolver = -ResolverFn | ResolverWithResolve; +export type Resolver = ResolverFn | ResolverWithResolve; export type ResolverFn = ( parent: TParent, @@ -244,144 +456,237 @@ export type DirectiveResolverFn TResult | Promise; + + /** Mapping between all available schema types and the resolvers types */ export type ResolversTypes = { Boolean: ResolverTypeWrapper; Contact: ResolverTypeWrapper; + ContactInput: ContactInput; + CreateFacilityInput: CreateFacilityInput; + CreateHealthcareProfessionalInput: CreateHealthcareProfessionalInput; + CreateSubmissionInput: CreateSubmissionInput; Degree: ResolverTypeWrapper; DegreeInput: DegreeInput; + DeleteResult: ResolverTypeWrapper; Facility: ResolverTypeWrapper; + FacilitySearchFilters: FacilitySearchFilters; + FacilitySubmission: ResolverTypeWrapper; HealthcareProfessional: ResolverTypeWrapper; - HealthcareProfessionalInput: HealthcareProfessionalInput; + HealthcareProfessionalSearchFilters: HealthcareProfessionalSearchFilters; + HealthcareProfessionalSubmission: ResolverTypeWrapper; ID: ResolverTypeWrapper; Insurance: Insurance; - LocaleName: ResolverTypeWrapper; - LocaleNameInput: LocaleNameInput; + Int: ResolverTypeWrapper; + Locale: Locale; + LocalizedName: ResolverTypeWrapper; + LocalizedNameInput: LocalizedNameInput; Mutation: ResolverTypeWrapper<{}>; + OrderBy: OrderBy; + OrderDirection: OrderDirection; + PhysicalAddress: ResolverTypeWrapper; + PhysicalAddressInput: PhysicalAddressInput; Query: ResolverTypeWrapper<{}>; + Relationship: Relationship; + RelationshipAction: RelationshipAction; Specialty: ResolverTypeWrapper; SpecialtyInput: SpecialtyInput; SpecialtyName: ResolverTypeWrapper; SpecialtyNameInput: SpecialtyNameInput; - SpokenLanguage: ResolverTypeWrapper; - SpokenLanguageInput: SpokenLanguageInput; String: ResolverTypeWrapper; + Submission: ResolverTypeWrapper; + SubmissionSearchFilters: SubmissionSearchFilters; + UpdateFacilityInput: UpdateFacilityInput; + UpdateHealthcareProfessionalInput: UpdateHealthcareProfessionalInput; + UpdateSubmissionInput: UpdateSubmissionInput; }; /** Mapping between all available schema types and the resolvers parents */ export type ResolversParentTypes = { Boolean: Scalars['Boolean']; Contact: Contact; + ContactInput: ContactInput; + CreateFacilityInput: CreateFacilityInput; + CreateHealthcareProfessionalInput: CreateHealthcareProfessionalInput; + CreateSubmissionInput: CreateSubmissionInput; Degree: Degree; DegreeInput: DegreeInput; + DeleteResult: DeleteResult; Facility: Facility; + FacilitySearchFilters: FacilitySearchFilters; + FacilitySubmission: FacilitySubmission; HealthcareProfessional: HealthcareProfessional; - HealthcareProfessionalInput: HealthcareProfessionalInput; + HealthcareProfessionalSearchFilters: HealthcareProfessionalSearchFilters; + HealthcareProfessionalSubmission: HealthcareProfessionalSubmission; ID: Scalars['ID']; - LocaleName: LocaleName; - LocaleNameInput: LocaleNameInput; + Int: Scalars['Int']; + LocalizedName: LocalizedName; + LocalizedNameInput: LocalizedNameInput; Mutation: {}; + OrderBy: OrderBy; + PhysicalAddress: PhysicalAddress; + PhysicalAddressInput: PhysicalAddressInput; Query: {}; + Relationship: Relationship; Specialty: Specialty; SpecialtyInput: SpecialtyInput; SpecialtyName: SpecialtyName; SpecialtyNameInput: SpecialtyNameInput; - SpokenLanguage: SpokenLanguage; - SpokenLanguageInput: SpokenLanguageInput; String: Scalars['String']; + Submission: Submission; + SubmissionSearchFilters: SubmissionSearchFilters; + UpdateFacilityInput: UpdateFacilityInput; + UpdateHealthcareProfessionalInput: UpdateHealthcareProfessionalInput; + UpdateSubmissionInput: UpdateSubmissionInput; }; export type ContactResolvers = { + address?: Resolver; email?: Resolver; - mapsLink?: Resolver; + googleMapsUrl?: Resolver; phone?: Resolver; - website?: Resolver; + website?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; export type DegreeResolvers = { abbreviation?: Resolver; - id?: Resolver; nameEn?: Resolver; nameJa?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; +export type DeleteResultResolvers = { + isSuccessful?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + export type FacilityResolvers = { contact?: Resolver; - healthcareProfessionals?: Resolver>, ParentType, ContextType>; + createdDate?: Resolver; + healthcareProfessionalIds?: Resolver, ParentType, ContextType>; id?: Resolver; nameEn?: Resolver; nameJa?: Resolver; + updatedDate?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type FacilitySubmissionResolvers = { + contact?: Resolver, ParentType, ContextType>; + healthcareProfessionalIds?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + nameEn?: Resolver, ParentType, ContextType>; + nameJa?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; export type HealthcareProfessionalResolvers = { - acceptedInsurance?: Resolver>, ParentType, ContextType>; - degrees?: Resolver>, ParentType, ContextType>; + acceptedInsurance?: Resolver, ParentType, ContextType>; + createdDate?: Resolver; + degrees?: Resolver, ParentType, ContextType>; + facilityIds?: Resolver, ParentType, ContextType>; id?: Resolver; - names?: Resolver>, ParentType, ContextType>; - specialties?: Resolver>, ParentType, ContextType>; - spokenLanguages?: Resolver>, ParentType, ContextType>; + names?: Resolver, ParentType, ContextType>; + specialties?: Resolver, ParentType, ContextType>; + spokenLanguages?: Resolver, ParentType, ContextType>; + updatedDate?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type HealthcareProfessionalSubmissionResolvers = { + acceptedInsurance?: Resolver>, ParentType, ContextType>; + degrees?: Resolver>, ParentType, ContextType>; + facilityIds?: Resolver, ParentType, ContextType>; + id?: Resolver, ParentType, ContextType>; + names?: Resolver, ParentType, ContextType>; + specialties?: Resolver>, ParentType, ContextType>; + spokenLanguages?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; -export type LocaleNameResolvers = { +export type LocalizedNameResolvers = { firstName?: Resolver; lastName?: Resolver; - locale?: Resolver; + locale?: Resolver; middleName?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; export type MutationResolvers = { - createHealthcareProfessional?: Resolver, ParentType, ContextType, Partial>; - updateHealthcareProfessional?: Resolver, ParentType, ContextType, RequireFields>; + createFacility?: Resolver, ParentType, ContextType, RequireFields>; + createHealthcareProfessional?: Resolver, ParentType, ContextType, RequireFields>; + createSubmission?: Resolver, ParentType, ContextType, RequireFields>; + deleteFacility?: Resolver, ParentType, ContextType, RequireFields>; + deleteHealthcareProfessional?: Resolver, ParentType, ContextType, RequireFields>; + deleteSubmission?: Resolver, ParentType, ContextType, RequireFields>; + updateFacility?: Resolver, ParentType, ContextType, RequireFields>; + updateHealthcareProfessional?: Resolver, ParentType, ContextType, RequireFields>; + updateSubmission?: Resolver, ParentType, ContextType, RequireFields>; +}; + +export type PhysicalAddressResolvers = { + addressLine1En?: Resolver; + addressLine1Ja?: Resolver; + addressLine2En?: Resolver; + addressLine2Ja?: Resolver; + cityEn?: Resolver; + cityJa?: Resolver; + postalCode?: Resolver; + prefectureEn?: Resolver; + prefectureJa?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; }; export type QueryResolvers = { - degree?: Resolver, ParentType, ContextType, RequireFields>; - degrees?: Resolver>>, ParentType, ContextType>; - facilities?: Resolver>>, ParentType, ContextType>; + facilities?: Resolver>>, ParentType, ContextType, RequireFields>; facility?: Resolver, ParentType, ContextType, RequireFields>; healthcareProfessional?: Resolver, ParentType, ContextType, RequireFields>; - healthcareProfessionals?: Resolver>>, ParentType, ContextType>; - specialties?: Resolver>>, ParentType, ContextType>; - specialty?: Resolver, ParentType, ContextType, RequireFields>; - spokenLanguage?: Resolver, ParentType, ContextType, RequireFields>; - spokenLanguages?: Resolver>>, ParentType, ContextType>; + healthcareProfessionals?: Resolver>>, ParentType, ContextType, RequireFields>; + submission?: Resolver, ParentType, ContextType, RequireFields>; + submissions?: Resolver>>, ParentType, ContextType, RequireFields>; }; export type SpecialtyResolvers = { - id?: Resolver; - names?: Resolver>>, ParentType, ContextType>; + names?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }; export type SpecialtyNameResolvers = { - locale?: Resolver; + locale?: Resolver; name?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; -export type SpokenLanguageResolvers = { - iso639_3?: Resolver; - nameEn?: Resolver; - nameJa?: Resolver; - nameNative?: Resolver; +export type SubmissionResolvers = { + createdDate?: Resolver; + facility?: Resolver, ParentType, ContextType>; + googleMapsUrl?: Resolver; + healthcareProfessionalName?: Resolver; + healthcareProfessionals?: Resolver>, ParentType, ContextType>; + id?: Resolver; + isApproved?: Resolver; + isRejected?: Resolver; + isUnderReview?: Resolver; + spokenLanguages?: Resolver, ParentType, ContextType>; + updatedDate?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }; export type Resolvers = { Contact?: ContactResolvers; Degree?: DegreeResolvers; + DeleteResult?: DeleteResultResolvers; Facility?: FacilityResolvers; + FacilitySubmission?: FacilitySubmissionResolvers; HealthcareProfessional?: HealthcareProfessionalResolvers; - LocaleName?: LocaleNameResolvers; + HealthcareProfessionalSubmission?: HealthcareProfessionalSubmissionResolvers; + LocalizedName?: LocalizedNameResolvers; Mutation?: MutationResolvers; + PhysicalAddress?: PhysicalAddressResolvers; Query?: QueryResolvers; Specialty?: SpecialtyResolvers; SpecialtyName?: SpecialtyNameResolvers; - SpokenLanguage?: SpokenLanguageResolvers; + Submission?: SubmissionResolvers; }; diff --git a/typesgeneratorconfig.ts b/typesgeneratorconfig.ts index b405fea8..24b80cb0 100644 --- a/typesgeneratorconfig.ts +++ b/typesgeneratorconfig.ts @@ -2,7 +2,7 @@ import { CodegenConfig } from '@graphql-codegen/cli' const config: CodegenConfig = { overwrite: true, - schema: 'https://seal-app-5oq9w.ondigitalocean.app/graphql', + schema: 'https://findadoc-api-9brq4.ondigitalocean.app/api', generates: { './typedefs/gqlTypes.ts': { plugins: ['typescript', 'typescript-resolvers'] diff --git a/yarn.lock b/yarn.lock index 67833a83..3bd823f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4667,15 +4667,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^6.13.1": - version: 6.13.1 - resolution: "@typescript-eslint/eslint-plugin@npm:6.13.1" +"@typescript-eslint/eslint-plugin@npm:^6.13.2": + version: 6.13.2 + resolution: "@typescript-eslint/eslint-plugin@npm:6.13.2" dependencies: "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:6.13.1" - "@typescript-eslint/type-utils": "npm:6.13.1" - "@typescript-eslint/utils": "npm:6.13.1" - "@typescript-eslint/visitor-keys": "npm:6.13.1" + "@typescript-eslint/scope-manager": "npm:6.13.2" + "@typescript-eslint/type-utils": "npm:6.13.2" + "@typescript-eslint/utils": "npm:6.13.2" + "@typescript-eslint/visitor-keys": "npm:6.13.2" debug: "npm:^4.3.4" graphemer: "npm:^1.4.0" ignore: "npm:^5.2.4" @@ -4688,44 +4688,44 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: cae42c77404d8e6c149d68aca75bb3ce83cff5de8713d82e87e93bafae2839f29d261bc75b68f315b6b23858a85ea2f22ed8468cf5c7331e8330f7cee2129522 + checksum: e6665fc5de0ae2b7ada9150d3d119157521a04208b8da385a4c39538b9471871efe6eef272dbcee4c76f599e09453b6f7317f3b3b80d89291f6b2ace4125c51b languageName: node linkType: hard -"@typescript-eslint/parser@npm:^6.13.1": - version: 6.13.1 - resolution: "@typescript-eslint/parser@npm:6.13.1" +"@typescript-eslint/parser@npm:^6.13.2": + version: 6.13.2 + resolution: "@typescript-eslint/parser@npm:6.13.2" dependencies: - "@typescript-eslint/scope-manager": "npm:6.13.1" - "@typescript-eslint/types": "npm:6.13.1" - "@typescript-eslint/typescript-estree": "npm:6.13.1" - "@typescript-eslint/visitor-keys": "npm:6.13.1" + "@typescript-eslint/scope-manager": "npm:6.13.2" + "@typescript-eslint/types": "npm:6.13.2" + "@typescript-eslint/typescript-estree": "npm:6.13.2" + "@typescript-eslint/visitor-keys": "npm:6.13.2" debug: "npm:^4.3.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: cdc328d157a8b8a6babad88360451c177ea41666e2150f3822a474ed287a12336517dccf9f475f75a007d4aa622cb74f1442f17d17b87e19cc2c839784742351 + checksum: a2b32d2ad1aa12ce31790e80e059fd5b0699265541f3799b58f2e5c8b40f2e21ac7010519802bc406f4b74c14a1f52081570fa6119b949f68392d0968628b3b8 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.13.1": - version: 6.13.1 - resolution: "@typescript-eslint/scope-manager@npm:6.13.1" +"@typescript-eslint/scope-manager@npm:6.13.2": + version: 6.13.2 + resolution: "@typescript-eslint/scope-manager@npm:6.13.2" dependencies: - "@typescript-eslint/types": "npm:6.13.1" - "@typescript-eslint/visitor-keys": "npm:6.13.1" - checksum: f728dbd995c58fadfc390411fe31b1b8a729b1c85ecf0ae2fe70f97f613298feab78c05bc180e03612f595b24cf0090476a0b8234c617b3edf1dae568342a7cf + "@typescript-eslint/types": "npm:6.13.2" + "@typescript-eslint/visitor-keys": "npm:6.13.2" + checksum: a6505cc73e90dfed3b9b03816213610f05be58548f468ce24c05ce49a3c6d029ef02233db51cff3b780aa8d040a0c7b3268ea28244c704932c9ee6ef82088509 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.13.1": - version: 6.13.1 - resolution: "@typescript-eslint/type-utils@npm:6.13.1" +"@typescript-eslint/type-utils@npm:6.13.2": + version: 6.13.2 + resolution: "@typescript-eslint/type-utils@npm:6.13.2" dependencies: - "@typescript-eslint/typescript-estree": "npm:6.13.1" - "@typescript-eslint/utils": "npm:6.13.1" + "@typescript-eslint/typescript-estree": "npm:6.13.2" + "@typescript-eslint/utils": "npm:6.13.2" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.0.1" peerDependencies: @@ -4733,23 +4733,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 484e5f74fc604b24687fe6426e650f40f679d62216ee5e45bf6d1f91edd60cd8deef747ca43f7dc3c22b2b76f030477603c82559e44c3f2fb5c8877a0c65aefa + checksum: c8de5ab94295980a378e4f22dd51dedb3838761969ad1a355386a801c9bc332837651747cdc2edf7f399c88d0bbd787d2233d09e14e4e2849fb01a57bd0cab00 languageName: node linkType: hard -"@typescript-eslint/types@npm:6.13.1": - version: 6.13.1 - resolution: "@typescript-eslint/types@npm:6.13.1" - checksum: 350c7f847052f7c24629d41645c02be152c512f3e5c21a79f53c04821b1fff3019416b18d9b72e5ca5c3c5f62f210301f2bb69080b84e67fe83af27751a7af18 +"@typescript-eslint/types@npm:6.13.2": + version: 6.13.2 + resolution: "@typescript-eslint/types@npm:6.13.2" + checksum: 3ed2622468b2c61bff0828a3675357b498360bada85740dd72e4ec3c80ee112bce8808d7688aa0104b9d0a655a30e2deb0fee69468474c7e046fc9285f549fe6 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.13.1": - version: 6.13.1 - resolution: "@typescript-eslint/typescript-estree@npm:6.13.1" +"@typescript-eslint/typescript-estree@npm:6.13.2": + version: 6.13.2 + resolution: "@typescript-eslint/typescript-estree@npm:6.13.2" dependencies: - "@typescript-eslint/types": "npm:6.13.1" - "@typescript-eslint/visitor-keys": "npm:6.13.1" + "@typescript-eslint/types": "npm:6.13.2" + "@typescript-eslint/visitor-keys": "npm:6.13.2" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -4758,34 +4758,34 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 1df965c5b202664da1a4a1ffc51bda3d85e581d8c206cd4be63653e2558775104258f6071e1f35a269619ebfb81bd18ee74e3fcb724fed15d3a2577d0ee5a34f + checksum: 8fa1344228858fa8171a9660e11eb0d5ed88de2ada343bce4a02a957724ccbeb9b67da1083eada29247f444aeba6908a4145d1758b528d320928abbb4e48dca7 languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.13.1": - version: 6.13.1 - resolution: "@typescript-eslint/utils@npm:6.13.1" +"@typescript-eslint/utils@npm:6.13.2": + version: 6.13.2 + resolution: "@typescript-eslint/utils@npm:6.13.2" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" "@types/json-schema": "npm:^7.0.12" "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.13.1" - "@typescript-eslint/types": "npm:6.13.1" - "@typescript-eslint/typescript-estree": "npm:6.13.1" + "@typescript-eslint/scope-manager": "npm:6.13.2" + "@typescript-eslint/types": "npm:6.13.2" + "@typescript-eslint/typescript-estree": "npm:6.13.2" semver: "npm:^7.5.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 - checksum: 6fab1122071c7a2da959dcf16cdd723a65bd8ba8e55af9cea11bb1707c4d047e94c3daaed2ab504cdbd2ca0d052f2a33de5290b28de0277ba00210569673ac9b + checksum: 934282b612e5f78423bc375122258c5aec65fcdf9c25fd0521e3984686d1e5b950500f093c5f1c21a267be164bc7025d8f629dcfaa60573ad98c6e3861092076 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.13.1": - version: 6.13.1 - resolution: "@typescript-eslint/visitor-keys@npm:6.13.1" +"@typescript-eslint/visitor-keys@npm:6.13.2": + version: 6.13.2 + resolution: "@typescript-eslint/visitor-keys@npm:6.13.2" dependencies: - "@typescript-eslint/types": "npm:6.13.1" + "@typescript-eslint/types": "npm:6.13.2" eslint-visitor-keys: "npm:^3.4.1" - checksum: 27ccc4bfe940e50b0977838356b7feda95b68754fa544a988588a159a2619eb04d07c67e55d16bfea1b0dc6184a7fb5daff1366b266c9f5fd19d72831dea6163 + checksum: eb6f3a3fa4dae6003533eac41bd2a8181a0353f352640e92b619e353b4bd5a5cd4c076018cbdf4b1ba45b826be0c1d15293d87e956fc9a8aa2fb8d8aa04a7c98 languageName: node linkType: hard @@ -4884,7 +4884,7 @@ __metadata: languageName: node linkType: hard -"@vitejs/plugin-vue@npm:^4.5.0, @vitejs/plugin-vue@npm:^4.5.1 ": +"@vitejs/plugin-vue@npm:^4.5.0, @vitejs/plugin-vue@npm:^4.5.1": version: 4.5.1 resolution: "@vitejs/plugin-vue@npm:4.5.1" peerDependencies: @@ -5004,6 +5004,18 @@ __metadata: languageName: node linkType: hard +"@vue/compiler-core@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/compiler-core@npm:3.3.10" + dependencies: + "@babel/parser": "npm:^7.23.5" + "@vue/shared": "npm:3.3.10" + estree-walker: "npm:^2.0.2" + source-map-js: "npm:^1.0.2" + checksum: 357e47baead5317828f91d26d0c3e65029ae96ad1678ef843a540962ff0c527ef381b011f50c520f9444d530e96efdc3c1fb332e74d15ebf1e28d0a8eb67cdc5 + languageName: node + linkType: hard + "@vue/compiler-core@npm:3.3.9": version: 3.3.9 resolution: "@vue/compiler-core@npm:3.3.9" @@ -5026,6 +5038,16 @@ __metadata: languageName: node linkType: hard +"@vue/compiler-dom@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/compiler-dom@npm:3.3.10" + dependencies: + "@vue/compiler-core": "npm:3.3.10" + "@vue/shared": "npm:3.3.10" + checksum: 44391b51625fad173f105dff40fa8ce30e44aabf794980527c6c9a425ff819fe598db75adc55b860707204635a5fc159d41514903113a9340ce26535fdc916af + languageName: node + linkType: hard + "@vue/compiler-dom@npm:3.3.9, @vue/compiler-dom@npm:^3.3.4": version: 3.3.9 resolution: "@vue/compiler-dom@npm:3.3.9" @@ -5036,6 +5058,24 @@ __metadata: languageName: node linkType: hard +"@vue/compiler-sfc@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/compiler-sfc@npm:3.3.10" + dependencies: + "@babel/parser": "npm:^7.23.5" + "@vue/compiler-core": "npm:3.3.10" + "@vue/compiler-dom": "npm:3.3.10" + "@vue/compiler-ssr": "npm:3.3.10" + "@vue/reactivity-transform": "npm:3.3.10" + "@vue/shared": "npm:3.3.10" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.5" + postcss: "npm:^8.4.32" + source-map-js: "npm:^1.0.2" + checksum: c5079c655b97288f5c46b8c16808082e6ca5b88b84f15331489454cd7917e7a6a8f7733459ef45f2bfd6eaeb7834364b8dbcd5d58d16fd240e934cc563c75878 + languageName: node + linkType: hard + "@vue/compiler-sfc@npm:3.3.9, @vue/compiler-sfc@npm:^3.2.47, @vue/compiler-sfc@npm:^3.3.4, @vue/compiler-sfc@npm:^3.3.8": version: 3.3.9 resolution: "@vue/compiler-sfc@npm:3.3.9" @@ -5064,6 +5104,16 @@ __metadata: languageName: node linkType: hard +"@vue/compiler-ssr@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/compiler-ssr@npm:3.3.10" + dependencies: + "@vue/compiler-dom": "npm:3.3.10" + "@vue/shared": "npm:3.3.10" + checksum: 95fbfe3b74aaa878e9cf3b3f6231bc0d83e9dc91eb4d9556adf762429147a758f0467b4b6d33f6491d5fc2ba37f7ad8a89d699cd3ab06473916c9b1a99c430e9 + languageName: node + linkType: hard + "@vue/compiler-ssr@npm:3.3.9": version: 3.3.9 resolution: "@vue/compiler-ssr@npm:3.3.9" @@ -5081,6 +5131,19 @@ __metadata: languageName: node linkType: hard +"@vue/reactivity-transform@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/reactivity-transform@npm:3.3.10" + dependencies: + "@babel/parser": "npm:^7.23.5" + "@vue/compiler-core": "npm:3.3.10" + "@vue/shared": "npm:3.3.10" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.5" + checksum: 362d7c67897e94d4b416f11c8f591d8e10b7489523ae94670d038b35d6f9b60c55ded85402af9e930c423a8e3d4c5932e27ac8b376b95ce6479a980a03c38800 + languageName: node + linkType: hard + "@vue/reactivity-transform@npm:3.3.9": version: 3.3.9 resolution: "@vue/reactivity-transform@npm:3.3.9" @@ -5094,6 +5157,15 @@ __metadata: languageName: node linkType: hard +"@vue/reactivity@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/reactivity@npm:3.3.10" + dependencies: + "@vue/shared": "npm:3.3.10" + checksum: a9a271ece7e1fb95e4feab1d5bba68215a2e2bef62ca9f9bc5237c8802fb9420c9d97d331f669771122b22962ced9ce09dc8d2f0d65f511364a8433eb2bbc8e0 + languageName: node + linkType: hard + "@vue/reactivity@npm:3.3.9": version: 3.3.9 resolution: "@vue/reactivity@npm:3.3.9" @@ -5103,6 +5175,16 @@ __metadata: languageName: node linkType: hard +"@vue/runtime-core@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/runtime-core@npm:3.3.10" + dependencies: + "@vue/reactivity": "npm:3.3.10" + "@vue/shared": "npm:3.3.10" + checksum: de34b4a4b642c1d679b11b51a0bd4bf046a9d4b33dddc88d51c91c20c167e08c6ee43e05f1c091fc9b00f6e0804ad8e0e57ae6aafd0430e026a34e77a35fea65 + languageName: node + linkType: hard + "@vue/runtime-core@npm:3.3.9": version: 3.3.9 resolution: "@vue/runtime-core@npm:3.3.9" @@ -5113,6 +5195,17 @@ __metadata: languageName: node linkType: hard +"@vue/runtime-dom@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/runtime-dom@npm:3.3.10" + dependencies: + "@vue/runtime-core": "npm:3.3.10" + "@vue/shared": "npm:3.3.10" + csstype: "npm:^3.1.2" + checksum: 046d997e0026c7fcce4a169b2843d11e2a1c16ea0bbc1789f764d249331744fef2663d0364979802a16e91c1d5e6be721985030869323e1b0eee2477ef1db67a + languageName: node + linkType: hard + "@vue/runtime-dom@npm:3.3.9": version: 3.3.9 resolution: "@vue/runtime-dom@npm:3.3.9" @@ -5124,6 +5217,18 @@ __metadata: languageName: node linkType: hard +"@vue/server-renderer@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/server-renderer@npm:3.3.10" + dependencies: + "@vue/compiler-ssr": "npm:3.3.10" + "@vue/shared": "npm:3.3.10" + peerDependencies: + vue: 3.3.10 + checksum: 7d74965f770b4e5e86e347d0ddbd41a9248712109a65f06e268c2c4e2d83939a8052b9f384907677f7ad349d18a7a2c781acd6a853442e6c4780e53a4ce4657b + languageName: node + linkType: hard + "@vue/server-renderer@npm:3.3.9": version: 3.3.9 resolution: "@vue/server-renderer@npm:3.3.9" @@ -5155,6 +5260,13 @@ __metadata: languageName: node linkType: hard +"@vue/shared@npm:3.3.10": + version: 3.3.10 + resolution: "@vue/shared@npm:3.3.10" + checksum: 19ffa2f645ccc99a6ef88197a1529ecbe50e086727d23125628f5b32306796ccd0b2edca1f0e5b76d0eb31ba304eae4e022b3c6b28511345cf312d643e3f880b + languageName: node + linkType: hard + "@vue/shared@npm:3.3.9, @vue/shared@npm:^3.3.8": version: 3.3.9 resolution: "@vue/shared@npm:3.3.9" @@ -8992,9 +9104,9 @@ __metadata: "@nuxtjs/i18n": "npm:next" "@pinia/nuxt": "npm:^0.5.1" "@testing-library/vue": "npm:^6.6.1" - "@typescript-eslint/eslint-plugin": "npm:^6.13.1" - "@typescript-eslint/parser": "npm:^6.13.1" - "@vitejs/plugin-vue": "npm:^4.5.1 " + "@typescript-eslint/eslint-plugin": "npm:^6.13.2" + "@typescript-eslint/parser": "npm:^6.13.2" + "@vitejs/plugin-vue": "npm:^4.5.1" "@vue/test-utils": "npm:^2.2.6" all-contributors-cli: "npm:^6.24.0" autoprefixer: "npm:^10.4.16" @@ -9018,7 +9130,7 @@ __metadata: tailwindcss: "npm:^3.3.5" typescript: "npm:^5.3.2" vitest: "npm:^0.34.6" - vue: "npm:^3.3.9" + vue: "npm:^3.3.10" vue-gtag: "npm:^2.0.1" vue-router: "npm:^4.2.5" vue-server-renderer: "npm:^2.7.15" @@ -17371,7 +17483,25 @@ __metadata: languageName: node linkType: hard -"vue@npm:^3.3.8, vue@npm:^3.3.9": +"vue@npm:^3.3.10": + version: 3.3.10 + resolution: "vue@npm:3.3.10" + dependencies: + "@vue/compiler-dom": "npm:3.3.10" + "@vue/compiler-sfc": "npm:3.3.10" + "@vue/runtime-dom": "npm:3.3.10" + "@vue/server-renderer": "npm:3.3.10" + "@vue/shared": "npm:3.3.10" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 866e31b6e5f8ff160b3cba04999964fcd1c7291a1b8f45e34f29e11dcced6dba41148213f6059bc7e6fc33ebf1eb3c00e331b2df98b4ef23d9731a15bda2400b + languageName: node + linkType: hard + +"vue@npm:^3.3.8": version: 3.3.9 resolution: "vue@npm:3.3.9" dependencies: