├── .env.example ├── preview.png ├── commitlint.config.js ├── .eslintignore ├── renovate.json ├── husky.config.js ├── .editorconfig ├── .release-it.js ├── .eslintrc.js ├── .github └── workflows │ └── main.yml ├── LICENSE ├── tsconfig.json ├── src ├── cli.ts └── commands │ ├── quick.ts │ └── generate.ts ├── .gitignore ├── README.md ├── package.json └── CHANGELOG.md /.env.example: -------------------------------------------------------------------------------- 1 | GITHUB_TOKEN= -------------------------------------------------------------------------------- /preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Stun3R/strapi-generate-types/HEAD/preview.png -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@commitlint/config-conventional'], 3 | }; 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | bin/ 3 | .eslintrc.js 4 | .commitlint.config.js 5 | .husky.config.js 6 | .jest.config.js -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["config:base"], 3 | "schedule": ["before 3am on the first day of the month"] 4 | } 5 | -------------------------------------------------------------------------------- /husky.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | hooks: { 3 | 'commit-msg': 'commitlint -E HUSKY_GIT_PARAMS', 4 | 'pre-commit': 'lint-staged', 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_size = 2 6 | indent_style = space 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.release-it.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | git: { 3 | tagName: 'v${version}', 4 | }, 5 | github: { 6 | release: true, 7 | releaseName: 'v${version}', 8 | }, 9 | plugins: { 10 | '@release-it/conventional-changelog': { 11 | preset: 'angular', 12 | infile: 'CHANGELOG.md', 13 | }, 14 | }, 15 | }; 16 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | parser: "@typescript-eslint/parser", 3 | plugins: ["@typescript-eslint"], 4 | extends: [ 5 | "plugin:@typescript-eslint/recommended", 6 | "plugin:@typescript-eslint/recommended-requiring-type-checking", 7 | ], 8 | parserOptions: { 9 | project: "./tsconfig.json", 10 | ecmaVersion: 2018, 11 | sourceType: "module", 12 | }, 13 | rules: {}, 14 | }; 15 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | 11 | jobs: 12 | ci: 13 | runs-on: ${{ matrix.os }} 14 | strategy: 15 | matrix: 16 | os: [ubuntu-latest, macos-latest, windows-latest] 17 | node: [16] 18 | 19 | steps: 20 | - name: Checkout repo 21 | uses: actions/checkout@v3 22 | 23 | - name: Use Node ${{ matrix.node }} 24 | uses: actions/setup-node@v3 25 | with: 26 | node-version: ${{ matrix.node }} 27 | 28 | - name: Cache node_modules 29 | uses: actions/cache@v3 30 | with: 31 | path: node_modules 32 | key: ${{ matrix.os }}-node-v${{ matrix.node }}-deps-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }} 33 | 34 | - name: Install dependencies 35 | if: steps.cache.outputs.cache-hit != 'true' 36 | run: yarn 37 | 38 | - name: Lint 39 | run: yarn lint 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Thibaut DAVID 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs 3 | "compilerOptions": { 4 | "module": "esnext", 5 | "lib": ["esnext"], 6 | "importHelpers": true, 7 | // output .d.ts declaration files for consumers 8 | "declaration": true, 9 | // output .js.map sourcemap files for consumers 10 | "sourceMap": true, 11 | // match output dir to input dir. e.g. dist/index instead of dist/src/index 12 | "rootDir": "./src", 13 | // stricter type-checking for stronger correctness. Recommended by TS 14 | "strict": true, 15 | // linter checks for common issues 16 | "noImplicitReturns": true, 17 | "noFallthroughCasesInSwitch": true, 18 | // noUnused* overlap with @typescript-eslint/no-unused-vars, can disable if duplicative 19 | "noUnusedLocals": true, 20 | "noUnusedParameters": true, 21 | // use Node's module resolution algorithm, instead of the legacy TS one 22 | "moduleResolution": "node", 23 | // interop between ESM and CJS modules. Recommended by TS 24 | "esModuleInterop": true, 25 | // significant perf increase by skipping checking .d.ts files, particularly those in node_modules. Recommended by TS 26 | "skipLibCheck": true, 27 | // error out if import and file system have a casing mismatch. Recommended by TS 28 | "forceConsistentCasingInFileNames": true, 29 | // `tsdx build` ignores this option, but it is commonly used when type-checking separately with `tsc` 30 | "noEmit": true, 31 | // Resolve json module 32 | "resolveJsonModule": true 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/cli.ts: -------------------------------------------------------------------------------- 1 | import { quickGen } from "./commands/quick"; 2 | import { Command } from "commander"; 3 | 4 | import { generateTypes } from "./commands/generate"; 5 | 6 | import { version } from "../package.json"; 7 | 8 | type QuickGenOptions = { 9 | path: string; 10 | fileName: string; 11 | }; 12 | 13 | // Initial program setup 14 | const program = new Command(); 15 | 16 | // `$ strapi version || strapi -v || strapi --version` 17 | program.version(version, "-v, --version", "Output the version number"); 18 | program 19 | .command("version") 20 | .description("Output your version of Strapi SDK") 21 | .action(() => { 22 | process.stdout.write(version + "\n"); 23 | process.exit(0); 24 | }); 25 | 26 | // `$ strapi generate` 27 | program 28 | .command("generate") 29 | .description("generate Typescript's types based on your GraphQL Schema") 30 | .action(async () => { 31 | await generateTypes(); 32 | }); 33 | 34 | program 35 | .command("quickgen") 36 | .description( 37 | "quickly generate Typescript types based on your GraphQL Schema using Arguments instead of manual prompts. Useful for use in npm scripts." 38 | ) 39 | .argument("", "Your Strapi URL") 40 | .option( 41 | "-p, --path ", 42 | "File path where you want to save the generated types", 43 | "./models/" 44 | ) 45 | .option( 46 | "-n, --file-name ", 47 | "File name of the generated types", 48 | "types.ts" 49 | ) 50 | .action(async (url: string, options: QuickGenOptions) => { 51 | await quickGen(url, options.path, options.fileName); 52 | }); 53 | 54 | program.parse(process.argv); 55 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | 3 | # OSX 4 | .DS_Store 5 | 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | lerna-debug.log* 13 | debug/ 14 | 15 | # Diagnostic reports (https://nodejs.org/api/report.html) 16 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 17 | 18 | # Runtime data 19 | pids 20 | *.pid 21 | *.seed 22 | *.pid.lock 23 | 24 | # Directory for instrumented libs generated by jscoverage/JSCover 25 | lib-cov 26 | 27 | # Coverage directory used by tools like istanbul 28 | coverage 29 | *.lcov 30 | 31 | # nyc test coverage 32 | .nyc_output 33 | 34 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 35 | .grunt 36 | 37 | # Bower dependency directory (https://bower.io/) 38 | bower_components 39 | 40 | # node-waf configuration 41 | .lock-wscript 42 | 43 | # Compiled binary addons (https://nodejs.org/api/addons.html) 44 | build/Release 45 | build/ 46 | dist/ 47 | bin/ 48 | 49 | 50 | # Dependency directories 51 | node_modules/ 52 | jspm_packages/ 53 | 54 | # TypeScript v1 declaration files 55 | typings/ 56 | 57 | # TypeScript cache 58 | *.tsbuildinfo 59 | 60 | # Optional npm cache directory 61 | .npm 62 | 63 | # Optional eslint cache 64 | .eslintcache 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variables file 76 | .env 77 | .env.test 78 | 79 | # parcel-bundler cache (https://parceljs.org/) 80 | .cache 81 | 82 | # next.js build output 83 | .next 84 | 85 | # nuxt.js build output 86 | .nuxt 87 | 88 | # vuepress build output 89 | .vuepress/dist 90 | 91 | # Serverless directories 92 | .serverless/ 93 | 94 | # FuseBox cache 95 | .fusebox/ 96 | 97 | # DynamoDB Local files 98 | .dynamodb/ 99 | 100 | # IntelliJ project files 101 | .idea 102 | *.iml 103 | out 104 | gen -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![strapi-generate-types](./preview.png) 2 | 3 | # strapi-generate-types 4 | 5 | [![npm version][npm-version-src]][npm-version-href] 6 | [![npm downloads][npm-downloads-src]][npm-downloads-href] 7 | [![License][license-src]][license-href] 8 | 9 | > CLI to generate types based on your [Strapi](https://strapi.io) API content types. 10 | 11 | - [✨  Release Notes](https://github.com/stun3r/strapi-generate-types/releases) 12 | 13 | ## Features 14 | 15 | - Generate Typescript's types based on your content types 16 | - Ease-of-use thanks a beautiful prompt 17 | 18 | ## Getting started 19 | 20 | ### ⏳ Installation 21 | 22 | ```bash 23 | yarn add strapi-generate-types 24 | ``` 25 | 26 | **or** 27 | 28 | ```bash 29 | npm install --save strapi-generate-types 30 | ``` 31 | 32 | ### 🖐 Requirements 33 | 34 | In order to use this generator you must have installed the GraphQL plugin **on your Strapi API**. 35 | 36 | ```bash 37 | yarn strapi install graphql 38 | ``` 39 | 40 | For more informations see the [GraphQL plugin](https://strapi.io/documentation/developer-docs/latest/development/plugins/graphql.html) 41 | 42 | ### 🕹 Usage 43 | 44 | ```bash 45 | yarn strapi-generate-types generate 46 | ``` 47 | 48 | OR 49 | 50 | ```bash 51 | npx strapi-generate-types generate 52 | ``` 53 | 54 | The prompt will ask you 3 things: 55 | 56 | 1. First, the host of your Strapi API with which you want to generate your types (default: `http://localhost:1337`). 57 | 2. Then, where you want to generate it (default: `./models/`). 58 | 3. Finally, the name of the file which will be generated (default: `types.ts`) 59 | 60 | Enjoy 🎉 61 | 62 | _If you don't want to use the prompt everytime you run the generator, you can use the `quickgen`:_ 63 | 64 | ```bash 65 | yarn|npx strapi quickgen [-p, --path , default: "./models/"] [-n, --file-name , default: "types.ts"] 66 | ``` 67 | 68 | ## License 69 | 70 | [MIT License](./LICENSE) 71 | 72 | 73 | 74 | [npm-version-src]: https://img.shields.io/npm/v/strapi-generate-types/latest.svg?style=flat-square 75 | [npm-version-href]: https://npmjs.com/package/strapi-generate-types 76 | [npm-downloads-src]: https://img.shields.io/npm/dt/strapi-generate-types.svg?style=flat-square 77 | [npm-downloads-href]: https://npmjs.com/package/strapi-generate-types 78 | [license-src]: https://img.shields.io/npm/l/strapi-generate-types.svg?style=flat-square 79 | [license-href]: ./LICENSE 80 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "strapi-generate-types", 3 | "version": "1.0.0", 4 | "description": "CLI to generate types based on your Strapi API content types", 5 | "keywords": [ 6 | "strapi", 7 | "cli", 8 | "graphqL", 9 | "typescript" 10 | ], 11 | "homepage": "https://github.com/Stun3R/strapi-generate-types#readme", 12 | "bugs": { 13 | "url": "https://github.com/Stun3R/strapi-generate-types/issues" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "git@github.com:Stun3R/strapi-generate-types.git" 18 | }, 19 | "license": "MIT", 20 | "author": { 21 | "name": "Thibaut DAVID", 22 | "email": "thibautdavid@icloud.com", 23 | "url": "https://thibautdavid.com" 24 | }, 25 | "maintainers": [ 26 | { 27 | "name": "Thibaut DAVID", 28 | "email": "thibautdavid@icloud.com", 29 | "url": "https://thibautdavid.com" 30 | } 31 | ], 32 | "bin": { 33 | "strapi-generate-types": "bin/cli.js" 34 | }, 35 | "files": [ 36 | "bin" 37 | ], 38 | "scripts": { 39 | "start": "siroc build --watch", 40 | "build": "siroc build", 41 | "clean": "rm -rf bin models", 42 | "lint": "eslint . --ext .ts,.js", 43 | "lint:fix": "eslint . --ext .ts,.js --fix", 44 | "commit": "git-cz", 45 | "release": "dotenv release-it --", 46 | "prepare": "siroc build" 47 | }, 48 | "lint-staged": { 49 | "*.{js,jsx,ts,tsx}": "eslint --cache --fix" 50 | }, 51 | "config": { 52 | "commitizen": { 53 | "path": "./node_modules/cz-conventional-changelog" 54 | } 55 | }, 56 | "dependencies": { 57 | "@graphql-codegen/core": "2.5.1", 58 | "@graphql-codegen/typescript": "2.4.5", 59 | "@graphql-tools/load": "7.5.2", 60 | "@graphql-tools/url-loader": "7.16.15", 61 | "@types/fs-extra": "9.0.13", 62 | "chalk": "4.1.2", 63 | "commander": "8.3.0", 64 | "enquirer": "2.3.6", 65 | "fs-extra": "10.0.0", 66 | "graphql": "16.6.0" 67 | }, 68 | "devDependencies": { 69 | "@commitlint/cli": "13.2.1", 70 | "@commitlint/config-conventional": "13.2.0", 71 | "@release-it/conventional-changelog": "3.3.0", 72 | "@types/commander": "^2.12.2", 73 | "@typescript-eslint/eslint-plugin": "5.42.1", 74 | "@typescript-eslint/parser": "5.42.1", 75 | "commitizen": "4.2.5", 76 | "cz-conventional-changelog": "3.3.0", 77 | "dotenv-cli": "4.1.1", 78 | "eslint": "8.27.0", 79 | "husky": "7.0.4", 80 | "lint-staged": "11.2.6", 81 | "npm-run-all": "4.1.5", 82 | "release-it": "14.12.5", 83 | "siroc": "0.16.0", 84 | "typescript": "4.6.2" 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /src/commands/quick.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies 3 | */ 4 | 5 | // Node.js core. 6 | import { join } from "path"; 7 | 8 | // Extra feature for fs Node.js core module. 9 | import { ensureDir, outputFile } from "fs-extra"; 10 | 11 | // CLI color mode. 12 | import { blue, green } from "chalk"; 13 | 14 | // Codegen core. 15 | import { codegen } from "@graphql-codegen/core"; 16 | import { Types } from "@graphql-codegen/plugin-helpers"; 17 | 18 | // GraphQL Dependencies in order to use Codegen. 19 | import * as typescriptPlugin from "@graphql-codegen/typescript"; 20 | import { printSchema, parse, GraphQLSchema } from "graphql"; 21 | import { loadSchema } from "@graphql-tools/load"; 22 | import { UrlLoader } from "@graphql-tools/url-loader"; 23 | 24 | // Options get by the prompt. 25 | export interface GenerateOptions { 26 | host: string; 27 | name: string; 28 | dir: string; 29 | } 30 | 31 | /** 32 | * `$ strapi-sdk generate` 33 | * 34 | * Generate Typescript types based on your GraphQL Schema. 35 | */ 36 | 37 | export const quickGen = async ( 38 | url: string, 39 | dir: string, 40 | name: string 41 | ): Promise => { 42 | try { 43 | // Build initial scope. 44 | const scope = { 45 | host: url, 46 | outputDir: dir, 47 | outputName: name, 48 | filePath: join(`${dir}/${name}`), 49 | }; 50 | /* remove "/" from scope.host in case it exists */ 51 | scope.host = scope.host.replace(/\/$/, ""); 52 | 53 | console.log( 54 | `${blue("Info")}: Generating types from GraphQL at ${green( 55 | scope.host + "/graphql" 56 | )}.` 57 | ); 58 | 59 | // Load schema from Strapi API 60 | const schema: GraphQLSchema = await loadSchema(`${scope.host}/graphql`, { 61 | loaders: [new UrlLoader()], 62 | }); 63 | 64 | // Build Codegen config. 65 | const config: Types.GenerateOptions = { 66 | schema: parse(printSchema(schema)), 67 | filename: scope.outputName, 68 | documents: [], 69 | config: {}, 70 | plugins: [ 71 | { 72 | typescript: {}, 73 | }, 74 | ], 75 | pluginMap: { 76 | typescript: typescriptPlugin, 77 | }, 78 | }; 79 | 80 | // Generate types 81 | const output: string = await codegen(config); 82 | 83 | // Create output directorie recursively. 84 | await ensureDir(scope.outputDir); 85 | 86 | // Write the generated type. 87 | await outputFile(scope.filePath, output); 88 | 89 | // Log the success. 90 | console.log( 91 | `${blue("Info")}: Generated your types at ${green(scope.filePath)}.` 92 | ); 93 | process.exit(0); 94 | } catch (error) { 95 | console.error(error); 96 | process.exit(1); 97 | } 98 | }; 99 | -------------------------------------------------------------------------------- /src/commands/generate.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies 3 | */ 4 | 5 | // Node.js core. 6 | import { join } from "path"; 7 | 8 | // Extra feature for fs Node.js core module. 9 | import { ensureDir, outputFile } from "fs-extra"; 10 | 11 | // CLI color mode. 12 | import { blue } from "chalk"; 13 | 14 | // Enquire engine. 15 | import { prompt } from "enquirer"; 16 | 17 | // Codegen core. 18 | import { codegen } from "@graphql-codegen/core"; 19 | import { Types } from "@graphql-codegen/plugin-helpers"; 20 | 21 | // GraphQL Dependencies in order to use Codegen. 22 | import * as typescriptPlugin from "@graphql-codegen/typescript"; 23 | import { printSchema, parse, GraphQLSchema } from "graphql"; 24 | import { loadSchema } from "@graphql-tools/load"; 25 | import { UrlLoader } from "@graphql-tools/url-loader"; 26 | 27 | // Options get by the prompt. 28 | export interface GenerateOptions { 29 | host: string; 30 | name: string; 31 | dir: string; 32 | } 33 | 34 | // Prompt's configuration 35 | const promptOptions = [ 36 | { 37 | type: "input", 38 | name: "host", 39 | message: "What is your Strapi host?", 40 | initial: "http://localhost:1337", 41 | }, 42 | { 43 | type: "input", 44 | name: "dir", 45 | message: "Where do you want to generate your types?", 46 | initial: "./models/", 47 | }, 48 | { 49 | type: "input", 50 | name: "name", 51 | message: "How do you want to name the generated file?", 52 | initial: "types.ts", 53 | }, 54 | ]; 55 | 56 | /** 57 | * `$ strapi-sdk generate` 58 | * 59 | * Generate Typescript types based on your GraphQL Schema. 60 | */ 61 | 62 | export const generateTypes = async (): Promise => { 63 | try { 64 | // Get options from prompt. 65 | const options: GenerateOptions = await prompt(promptOptions); 66 | 67 | // Build initial scope. 68 | const scope = { 69 | host: options.host, 70 | outputDir: options.dir, 71 | outputName: options.name, 72 | filePath: join(`${options.dir}/${options.name}`), 73 | }; 74 | 75 | // Load schema from Strapi API 76 | const schema: GraphQLSchema = await loadSchema(`${scope.host}/graphql`, { 77 | loaders: [new UrlLoader()], 78 | }); 79 | 80 | // Build Codegen config. 81 | const config: Types.GenerateOptions = { 82 | schema: parse(printSchema(schema)), 83 | filename: scope.outputName, 84 | documents: [], 85 | config: {}, 86 | plugins: [ 87 | { 88 | typescript: {}, 89 | }, 90 | ], 91 | pluginMap: { 92 | typescript: typescriptPlugin, 93 | }, 94 | }; 95 | 96 | // Generate types 97 | const output: string = await codegen(config); 98 | 99 | // Create output directorie recursively. 100 | await ensureDir(scope.outputDir); 101 | 102 | // Write the generated type. 103 | await outputFile(scope.filePath, output); 104 | 105 | // Log the success. 106 | console.log(`${blue("Info")}: Generated your types at ${scope.filePath}.`); 107 | process.exit(0); 108 | } catch (error) { 109 | console.error(error); 110 | process.exit(1); 111 | } 112 | }; 113 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # [1.0.0](https://github.com/Stun3R/strapi-generate-types/compare/v0.1.4...v1.0.0) (2022-11-13) 2 | 3 | ### Bug Fixes 4 | 5 | - **actions:** updates to v3 & node v16 ([961a407](https://github.com/Stun3R/strapi-generate-types/commit/961a407d62dfb79329b3c1b806535acb8893f987)) 6 | - **deps:** update dependency @graphql-codegen/typescript to v1.22.4 ([fc3b04a](https://github.com/Stun3R/strapi-generate-types/commit/fc3b04aed501afafd9945ff519834ecb0fbcaca1)) 7 | - **deps:** update dependency @graphql-codegen/typescript to v1.23.0 ([a57a620](https://github.com/Stun3R/strapi-generate-types/commit/a57a6205dea66d41b33783ad763a03ea9109c8b8)) 8 | - **deps:** update dependency @types/fs-extra to v9.0.12 ([2c186a4](https://github.com/Stun3R/strapi-generate-types/commit/2c186a4365868b341e0e75863ced467cc86a1e84)) 9 | - **deps:** update dependency @types/fs-extra to v9.0.13 ([eb56461](https://github.com/Stun3R/strapi-generate-types/commit/eb564617b859c256df4308a012551bb6b6cad9e8)) 10 | - **deps:** update dependency chalk to v4.1.2 ([4cf2ac2](https://github.com/Stun3R/strapi-generate-types/commit/4cf2ac2571469aeff5fbd77a230fe8e09f617399)) 11 | - **deps:** update dependency commander to v8.1.0 ([36e9bb7](https://github.com/Stun3R/strapi-generate-types/commit/36e9bb7f7a5506e9ba822fc55098bd35c21ba250)) 12 | - **deps:** update dependency commander to v8.3.0 ([1fe0bcd](https://github.com/Stun3R/strapi-generate-types/commit/1fe0bcdf0115ddcf9921fabf7a9b33f3fe28eeab)) 13 | - **deps:** update dependency graphql to v15.8.0 ([17e6e2e](https://github.com/Stun3R/strapi-generate-types/commit/17e6e2e90cd42a9c906b692a869252a07d2f4b67)) 14 | - **deps:** update dependency graphql to v16 ([bf1d537](https://github.com/Stun3R/strapi-generate-types/commit/bf1d537c5fdabdd1ccca1cbdf5044b41a776c2a9)) 15 | - **deps:** update dependency graphql-tools/url-loader to 7.16.15 ([4ed6380](https://github.com/Stun3R/strapi-generate-types/commit/4ed638097ca1114d64d63c056b59a87ae3084f06)) 16 | - **deps:** update graphql-tools monorepo ([2aa1dd6](https://github.com/Stun3R/strapi-generate-types/commit/2aa1dd66a94c8f64947ca75bc664ff7ee81bb29d)) 17 | - **deps:** update graphql-tools monorepo ([3909149](https://github.com/Stun3R/strapi-generate-types/commit/39091497de55c0382439e7809da4a5ca11fcedc0)) 18 | - **deps:** update graphql-tools monorepo ([6eedfd6](https://github.com/Stun3R/strapi-generate-types/commit/6eedfd6a61a61a2e03045978a2bcc9e46e7c2377)) 19 | - **deps:** update graphqlcodegenerator monorepo ([a914700](https://github.com/Stun3R/strapi-generate-types/commit/a914700100aebcb4a8e8de5f7a8e4a54e7935922)) 20 | - **deps:** update graphqlcodegenerator monorepo ([d102953](https://github.com/Stun3R/strapi-generate-types/commit/d102953bff78ce543a78b47ab3a3c0cd633ab3b8)) 21 | - **quickgen:** updates types usage ([620d3c8](https://github.com/Stun3R/strapi-generate-types/commit/620d3c8714d6a81a677860b09622c1295fdeb3f5)) 22 | 23 | ### Features 24 | 25 | - :sparkles: add quickgen command ([1ca7c56](https://github.com/Stun3R/strapi-generate-types/commit/1ca7c56f5153ada59d226ba9521bb68dfd8d7063)) @AnnikenYT 26 | 27 | ## [0.1.4](https://github.com/Stun3R/strapi-generate-types/compare/v0.1.3...v0.1.4) (2021-06-29) 28 | 29 | ### Bug Fixes 30 | 31 | - **deps:** update dependency @graphql-codegen/typescript to v1.22.3 ([3956baf](https://github.com/Stun3R/strapi-generate-types/commit/3956baf99e9248491ea49ac311afdb40836051b5)) 32 | - **deps:** update dependency commander to v8 ([95df3b5](https://github.com/Stun3R/strapi-generate-types/commit/95df3b5fdfcbdc1962b1932098e6a4375626414d)) 33 | 34 | ## [0.1.3](https://github.com/Stun3R/strapi-generate-types/compare/v0.1.2...v0.1.3) (2021-06-21) 35 | 36 | ### Bug Fixes 37 | 38 | - **deps:** update dependency @graphql-codegen/typescript to v1.22.2 ([1eb5811](https://github.com/Stun3R/strapi-generate-types/commit/1eb5811de23d5b964be5f1ed7312a552dc06ca5c)) 39 | - **deps:** update dependency graphql to v15.5.1 ([2b12d37](https://github.com/Stun3R/strapi-generate-types/commit/2b12d37d583e3347532973b21aea37e313282f5f)) 40 | 41 | ## [0.1.2](https://github.com/Stun3R/strapi-generate-types/compare/v0.1.1...v0.1.2) (2021-06-10) 42 | 43 | ### Bug Fixes 44 | 45 | - **bin:** mispelled pkg executable name ([7c0184b](https://github.com/Stun3R/strapi-generate-types/commit/7c0184b9dced9e97850889a0d7de87a543c183c0)), closes [#6](https://github.com/Stun3R/strapi-generate-types/issues/6) 46 | 47 | ## [0.1.1](https://github.com/Stun3R/strapi-generate-types/compare/v0.1.0...v0.1.1) (2021-06-04) 48 | 49 | # 0.1.0 (2021-06-03) 50 | 51 | ### Features 52 | 53 | - add prompt & generator ([1dfc19d](https://github.com/Stun3R/strapi-generate-types/commit/1dfc19d49373595543d41a2cc65bd4b077fe1fe8)) 54 | 55 | ## [0.1.2](https://github.com/Stun3R/strapi-generate-types/compare/v0.1.1...v0.1.2) (2021-06-01) 56 | 57 | ## [0.1.1](https://github.com/Stun3R/strapi-generate-types/compare/v0.1.0...v0.1.1) (2021-06-01) 58 | 59 | ### Bug Fixes 60 | 61 | - **deps:** pin dependencies ([8f0301d](https://github.com/Stun3R/strapi-generate-types/commit/8f0301d96d5288765e3210480587d43d4f9a521c)) 62 | 63 | # 0.1.0 (2021-06-01) 64 | 65 | ### Features 66 | 67 | - add prompt & types generation ([e23c40d](https://github.com/Stun3R/strapi-generate-types/commit/e23c40df51b7847cadb4d308dc9ca5e2734a134b)) 68 | --------------------------------------------------------------------------------