UNPKG

@mondaydotcomorg/setup-api

Version:
4 lines (3 loc) 2.83 kB
#!/usr/bin/env node "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("shelljs"),r=require("fs");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,Object.freeze(r)}var t=n(e),c=n(r),a="graphql-request@6.1.0",s="graphql@16.8.2",o=c.existsSync("yarn.lock")?["yarn add ".concat(a," ").concat(s),"yarn add -D @graphql-codegen/cli @graphql-codegen/typescript @graphql-codegen/typescript-operations"]:["npm install ".concat(a," ").concat(s),"npm install --save-dev @graphql-codegen/cli @graphql-codegen/typescript @graphql-codegen/typescript-operations"],i=function(){o.forEach((function(e){0!==t.exec(e).code&&(console.error("Error executing command: ".concat(e)),t.exit(1))})),console.log("Packages installed")},l=function(){c.writeFileSync("codegen.yml",'\noverwrite: true\nschema: "src/schema.graphql"\ndocuments: "src/**/*.graphql.ts"\ngenerates:\n src/generated/graphql.ts:\n plugins:\n - "typescript"\n - "typescript-operations"'),console.log("Codegen config created"),c.writeFileSync("graphql.config.yml","schema: src/schema.graphql"),console.log("created graphql.config.yml"),t.mkdir("-p","src"),console.log("Created src folder");c.writeFileSync("src/queries.graphql.ts",'\nimport { gql } from "graphql-request";\n\nexport const exampleQuery = gql`\n query GetBoards($ids: [ID!]) {\n boards(ids: $ids) {\n id\n name\n }\n }\n`;\n\nexport const exampleMutation = gql`\n mutation CreateItem($boardId: ID!, $groupId: String!, $itemName: String!) {\n create_item(board_id: $boardId, group_id: $groupId, item_name: $itemName) {\n id\n name\n }\n }\n`;\n'),console.log("created src/queries.graphql.ts");var e='#!/bin/bash\n curl "https://api.monday.com/v2/get_schema?format=sdl&version=stable" -o src/schema.graphql\n '.trim();c.writeFileSync("fetch-schema.sh",e,{mode:493}),console.log("Fetch schema script created")},p=function(){var e="./package.json";if(c.existsSync(e)){var r=JSON.parse(c.readFileSync(e,"utf8"));r.scripts=r.scripts||{},r.scripts["fetch:schema"]="bash fetch-schema.sh",r.scripts.codegen="graphql-codegen",r.scripts["fetch:generate"]="npm run fetch:schema && npm run codegen",c.writeFileSync(e,JSON.stringify(r,null,2)),console.log("Updated package.json with new scripts")}else console.error("package.json not found!")},g=function(){i(),l(),p(),console.log("Setup complete! run `npm run fetch:generate` to fetch the schema and generate types")};require.main===module&&g(),exports.createFiles=l,exports.installPackages=i,exports.setupGraphQL=g,exports.updatePackageJsonScripts=p; //# sourceMappingURL=index.js.map