apollo-link-printer
v1.1.1
Published
Pretty logger of Apollo GraphQL network operations packaged in a Apollo link
Maintainers
Readme
Apollo link Printer
Pretty logger of Apollo GraphQL network operations

Overview
Apollo Link Printer is a logging library designed to provide a pretty and informative log of your Apollo GraphQL network operations. It logs details of your GraphQL queries, mutations, and subscriptions, making it easier to debug and understand the network interactions in your application.
The library extends the ApolloLink from @apollo/client and provides a custom PrinterLink that logs various aspects of the network operations, such as fragments, variables, and messages.
Installation
Node Package Manager installation
npm install apollo-link-printerYarn installation
yarn add apollo-link-printerUsage
Below is an example of how to set up Apollo Link Printer in your Apollo Client configuration:
import { ApolloClient, InMemoryCache, HttpLink, ApolloLink } from '@apollo/client';
import { PrinterLink } from 'apollo-link-printer';
// Define options
const options = {
print: true,
collapsed: false,
};
const client = new ApolloClient({
link: ApolloLink.from([
new PrinterLink(options),
new HttpLink({ uri: 'http://localhost:4000' }),
]),
cache: new InMemoryCache(),
});In this example, PrinterLink is added to the Apollo Client link chain. The options object allows you to customize the logging behavior.
Options
| name | type | explanation |
| --- | --- | --- |
| print | boolean | if true, information will be output to the console |
| collapsed | boolean | if true, console.groupCollapsed will be used, otherwise console.group |
| style | string | This option accepts two values: off and css. Selecting off disables the stylized output |
Contributing
This project uses TypeScript to provide static typing for JavaScript and Jest for testing. To contribute, follow these steps:
Clone the repository:
git clone https://github.com/egorlem/apollo-link-printer.gitcd apollo-link-printerInstall dependencies:
npm install # or `yarn`Make your changes and run tests to ensure everything works as expected:
npm test # or `yarn test`To run the library locally in another project, you can link it:
npm linknpm link apollo-link-printer # In the project where you want to use the libraryCommit and push your changes, then open a pull request on GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Maintained by Egor Lem
