silverstripe / silverstripe-graphql

Serves Silverstripe data as GraphQL representations
BSD 3-Clause "New" or "Revised" License
52 stars 61 forks source link

Deprecated callbacks in field types #108

Closed torleif closed 6 years ago

torleif commented 7 years ago

see: https://github.com/webonyx/graphql-php/issues/35

You can fix this by putting this in your _config.php:

error_reporting(E_ALL ^ E_USER_DEPRECATED);

Obviously not good practice.

Back trace:

[User Deprecated] Passing type as closure is deprecated (see https://github.com/webonyx/graphql-php/issues/35 for alternatives)
POST /graphql/
Line 197 in /Applications/MAMP/htdocs/vendor/webonyx/graphql-php/src/Type/Definition/Type.php
Source
188     /**
189      * @param $type
190      * @return mixed
191      */
192     public static function resolve($type)
193     {
194         if (is_callable($type)) {
195             trigger_error(
196                 'Passing type as closure is deprecated (see https://github.com/webonyx/graphql-php/issues/35 for alternatives)',
197                 E_USER_DEPRECATED
198             );
199             $type = $type();
200         }
201 
202         if (!$type instanceof Type) {
203             throw new InvariantViolation(sprintf(
Trace
trigger_error(Passing type as closure is deprecated (see https://github.com/webonyx/graphql-php/issues/35 for alternatives),16384) 
Type.php:197
GraphQL\Type\Definition\Type::resolve(Closure) 
FieldDefinition.php:200
GraphQL\Type\Definition\FieldDefinition->getType() 
Schema.php:319
GraphQL\Schema->extractTypes(readFilesEdge) 
Schema.php:293
GraphQL\Schema->extractTypes([readFilesEdge]) 
Schema.php:323
GraphQL\Schema->extractTypes([readFilesEdge]) 
Schema.php:323
GraphQL\Schema->extractTypes(readFilesConnection) 
Schema.php:159
GraphQL\Schema->init(Array) 
Schema.php:99
GraphQL\Schema->__construct(Array) 
Manager.php:186
SilverStripe\GraphQL\Manager->schema() 
Manager.php:220
SilverStripe\GraphQL\Manager->queryAndReturnResult({ readProjects { ID Title Resources { edges { node { ID Title Sort } } } } } ,) 
Manager.php:199
SilverStripe\GraphQL\Manager->query({ readProjects { ID Title Resources { edges { node { ID Title Sort } } } } } ,) 
Controller.php:94
SilverStripe\GraphQL\Controller->index(SilverStripe\Control\HTTPRequest) 
RequestHandler.php:318
SilverStripe\Control\RequestHandler->handleAction(SilverStripe\Control\HTTPRequest,index) 
Controller.php:282
SilverStripe\Control\Controller->handleAction(SilverStripe\Control\HTTPRequest,index) 
RequestHandler.php:217
SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest,SilverStripe\ORM\DataModel) 
Controller.php:211
SilverStripe\Control\Controller->handleRequest(SilverStripe\Control\HTTPRequest,SilverStripe\ORM\DataModel) 
Director.php:435
SilverStripe\Control\Director::handleRequest(SilverStripe\Control\HTTPRequest,SilverStripe\Control\Session,SilverStripe\ORM\DataModel) 
Director.php:184
SilverStripe\Control\Director::direct(/graphql/,SilverStripe\ORM\DataModel) 
main.php:226

{"data":{"readProjects":{"ID":"1","Title":"Project 1","Resources":{"edges":[{"node":{"ID":"1","Title":"file 1","Sort":0}},{"node":{"ID":"2","Title":"file 2","Sort":1}}]}}}}

Pull requests

flamerohr commented 7 years ago

Hi @torleif

This has already been addressed by https://github.com/silverstripe/silverstripe-graphql/pull/98

Judging from your stacktrace, it's possible that your asset-admin module is out of date as the fileType has been updated too https://github.com/silverstripe/silverstripe-asset-admin/pull/474

torleif commented 7 years ago

@flamerohr sweet, I updated the modules and it seems to be all good!

kinglozzer commented 6 years ago

I’m seeing this again:

Super-long stack trace ``` ERROR [User Deprecated]: Passing type as closure is deprecated (see https://github.com/webonyx/graphql-php/issues/35 for alternatives) IN POST /graphql/ Line 196 in /Users/kinglozzer/Devsites/sprig/vendor/webonyx/graphql-php/src/Type/Definition/Type.php Source ====== 187: /** 188: * @param $type 189: * @return mixed 190: */ 191: public static function resolve($type) 192: { 193: if (is_callable($type)) { 194: trigger_error( 195: 'Passing type as closure is deprecated (see https://github.com/webonyx/graphql-php/issues/35 for alternatives)', * 196: E_USER_DEPRECATED 197: ); 198: $type = $type(); 199: } 200: 201: if (!$type instanceof Type) { 202: throw new InvariantViolation(sprintf( Trace ===== trigger_error(Passing type as closure is deprecated (see https://github.com/webonyx/graphql-php/issues/35 for alternatives), 16384) Type.php:196 GraphQL\Type\Definition\Type::resolve(Closure) FieldDefinition.php:177 GraphQL\Type\Definition\FieldDefinition->getType() Schema.php:319 GraphQL\Schema->extractTypes(readFilesEdge) Schema.php:293 GraphQL\Schema->extractTypes([readFilesEdge]) Schema.php:323 GraphQL\Schema->extractTypes([readFilesEdge]) Schema.php:323 GraphQL\Schema->extractTypes(readFilesConnection) Schema.php:159 GraphQL\Schema->init(Array) Schema.php:99 GraphQL\Schema->__construct(Array) Manager.php:187 SilverStripe\GraphQL\Manager->schema() Manager.php:220 SilverStripe\GraphQL\Manager->queryAndReturnResult(query ReadFiles($limit: Int!, $offset: Int!, $rootFilter: FileFilterInput, $childrenFilter: FileFilterInput, $sortBy: [ChildrenSortInputType]) { readFiles(filter: $rootFilter) { pageInfo { totalCount __typename } edges { node { ...FileInterfaceFields ...FileFields ... on Folder { children(limit: $limit, offset: $offset, filter: $childrenFilter, sortBy: $sortBy) { pageInfo { totalCount __typename } edges { node { ...FileInterfaceFields ...FileFields ...FolderFields __typename } __typename } __typename } parents { id title __typename } __typename } __typename } __typename } __typename } } fragment FileInterfaceFields on FileInterface { canDelete canEdit canView category exists filename id lastEdited name parentId title type url __typename } fragment FileFields on File { draft extension published size smallThumbnail thumbnail inUseCount __typename } fragment FolderFields on Folder { filesInUseCount __typename } , Array) Manager.php:199 SilverStripe\GraphQL\Manager->query(query ReadFiles($limit: Int!, $offset: Int!, $rootFilter: FileFilterInput, $childrenFilter: FileFilterInput, $sortBy: [ChildrenSortInputType]) { readFiles(filter: $rootFilter) { pageInfo { totalCount __typename } edges { node { ...FileInterfaceFields ...FileFields ... on Folder { children(limit: $limit, offset: $offset, filter: $childrenFilter, sortBy: $sortBy) { pageInfo { totalCount __typename } edges { node { ...FileInterfaceFields ...FileFields ...FolderFields __typename } __typename } __typename } parents { id title __typename } __typename } __typename } __typename } __typename } } fragment FileInterfaceFields on FileInterface { canDelete canEdit canView category exists filename id lastEdited name parentId title type url __typename } fragment FileFields on File { draft extension published size smallThumbnail thumbnail inUseCount __typename } fragment FolderFields on Folder { filesInUseCount __typename } , Array) Controller.php:75 SilverStripe\GraphQL\Controller->index(SilverStripe\Control\HTTPRequest) RequestHandler.php:319 SilverStripe\Control\RequestHandler->handleAction(SilverStripe\Control\HTTPRequest, index) Controller.php:287 SilverStripe\Control\Controller->handleAction(SilverStripe\Control\HTTPRequest, index) RequestHandler.php:201 SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest) Controller.php:212 SilverStripe\Control\Controller->handleRequest(SilverStripe\Control\HTTPRequest) Director.php:361 SilverStripe\Control\Director->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest) VersionedHTTPMiddleware.php:40 SilverStripe\Versioned\VersionedHTTPMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) BasicAuthMiddleware.php:68 SilverStripe\Security\BasicAuthMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) AuthenticationMiddleware.php:61 SilverStripe\Security\AuthenticationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) CanonicalURLMiddleware.php:155 SilverStripe\Control\Middleware\CanonicalURLMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) FlushMiddleware.php:26 SilverStripe\Control\Middleware\FlushMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) RequestProcessor.php:66 SilverStripe\Control\RequestProcessor->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) SessionMiddleware.php:20 SilverStripe\Control\Middleware\SessionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) AllowedHostsMiddleware.php:60 SilverStripe\Control\Middleware\AllowedHostsMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) TrustedProxyMiddleware.php:176 SilverStripe\Control\Middleware\TrustedProxyMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) HTTPMiddlewareAware.php:65 SilverStripe\Control\Director->callMiddleware(SilverStripe\Control\HTTPRequest, Closure) Director.php:370 SilverStripe\Control\Director->handleRequest(SilverStripe\Control\HTTPRequest) HTTPApplication.php:48 SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest) call_user_func(Closure, SilverStripe\Control\HTTPRequest) HTTPApplication.php:66 SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest) call_user_func(Closure, SilverStripe\Control\HTTPRequest) ErrorControlChainMiddleware.php:56 SilverStripe\Core\Startup\ErrorControlChainMiddleware->SilverStripe\Core\Startup\{closure}(SilverStripe\Core\Startup\ErrorControlChain) call_user_func(Closure, SilverStripe\Core\Startup\ErrorControlChain) ErrorControlChain.php:236 SilverStripe\Core\Startup\ErrorControlChain->step() ErrorControlChain.php:226 SilverStripe\Core\Startup\ErrorControlChain->execute() ErrorControlChainMiddleware.php:69 SilverStripe\Core\Startup\ErrorControlChainMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\HTTPApplication->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) HTTPMiddlewareAware.php:65 SilverStripe\Control\HTTPApplication->callMiddleware(SilverStripe\Control\HTTPRequest, Closure) HTTPApplication.php:67 SilverStripe\Control\HTTPApplication->execute(SilverStripe\Control\HTTPRequest, Closure, ) HTTPApplication.php:49 SilverStripe\Control\HTTPApplication->handle(SilverStripe\Control\HTTPRequest) index.php:26 ERROR [User Deprecated]: Passing type as closure is deprecated (see https://github.com/webonyx/graphql-php/issues/35 for alternatives) IN POST /graphql/ Line 196 in /Users/kinglozzer/Devsites/sprig/vendor/webonyx/graphql-php/src/Type/Definition/Type.php Source ====== 187: /** 188: * @param $type 189: * @return mixed 190: */ 191: public static function resolve($type) 192: { 193: if (is_callable($type)) { 194: trigger_error( 195: 'Passing type as closure is deprecated (see https://github.com/webonyx/graphql-php/issues/35 for alternatives)', * 196: E_USER_DEPRECATED 197: ); 198: $type = $type(); 199: } 200: 201: if (!$type instanceof Type) { 202: throw new InvariantViolation(sprintf( Trace ===== trigger_error(Passing type as closure is deprecated (see https://github.com/webonyx/graphql-php/issues/35 for alternatives), 16384) Type.php:196 GraphQL\Type\Definition\Type::resolve(Closure) FieldDefinition.php:177 GraphQL\Type\Definition\FieldDefinition->getType() Schema.php:319 GraphQL\Schema->extractTypes(ChildrenEdge) Schema.php:293 GraphQL\Schema->extractTypes([ChildrenEdge]) Schema.php:323 GraphQL\Schema->extractTypes([ChildrenEdge]) Schema.php:323 GraphQL\Schema->extractTypes(ChildrenConnection) Schema.php:323 GraphQL\Schema->extractTypes(Folder) Schema.php:323 GraphQL\Schema->extractTypes(Result) Schema.php:293 GraphQL\Schema->extractTypes([readFilesEdge]) Schema.php:323 GraphQL\Schema->extractTypes([readFilesEdge]) Schema.php:323 GraphQL\Schema->extractTypes(readFilesConnection) Schema.php:159 GraphQL\Schema->init(Array) Schema.php:99 GraphQL\Schema->__construct(Array) Manager.php:187 SilverStripe\GraphQL\Manager->schema() Manager.php:220 SilverStripe\GraphQL\Manager->queryAndReturnResult(query ReadFiles($limit: Int!, $offset: Int!, $rootFilter: FileFilterInput, $childrenFilter: FileFilterInput, $sortBy: [ChildrenSortInputType]) { readFiles(filter: $rootFilter) { pageInfo { totalCount __typename } edges { node { ...FileInterfaceFields ...FileFields ... on Folder { children(limit: $limit, offset: $offset, filter: $childrenFilter, sortBy: $sortBy) { pageInfo { totalCount __typename } edges { node { ...FileInterfaceFields ...FileFields ...FolderFields __typename } __typename } __typename } parents { id title __typename } __typename } __typename } __typename } __typename } } fragment FileInterfaceFields on FileInterface { canDelete canEdit canView category exists filename id lastEdited name parentId title type url __typename } fragment FileFields on File { draft extension published size smallThumbnail thumbnail inUseCount __typename } fragment FolderFields on Folder { filesInUseCount __typename } , Array) Manager.php:199 SilverStripe\GraphQL\Manager->query(query ReadFiles($limit: Int!, $offset: Int!, $rootFilter: FileFilterInput, $childrenFilter: FileFilterInput, $sortBy: [ChildrenSortInputType]) { readFiles(filter: $rootFilter) { pageInfo { totalCount __typename } edges { node { ...FileInterfaceFields ...FileFields ... on Folder { children(limit: $limit, offset: $offset, filter: $childrenFilter, sortBy: $sortBy) { pageInfo { totalCount __typename } edges { node { ...FileInterfaceFields ...FileFields ...FolderFields __typename } __typename } __typename } parents { id title __typename } __typename } __typename } __typename } __typename } } fragment FileInterfaceFields on FileInterface { canDelete canEdit canView category exists filename id lastEdited name parentId title type url __typename } fragment FileFields on File { draft extension published size smallThumbnail thumbnail inUseCount __typename } fragment FolderFields on Folder { filesInUseCount __typename } , Array) Controller.php:75 SilverStripe\GraphQL\Controller->index(SilverStripe\Control\HTTPRequest) RequestHandler.php:319 SilverStripe\Control\RequestHandler->handleAction(SilverStripe\Control\HTTPRequest, index) Controller.php:287 SilverStripe\Control\Controller->handleAction(SilverStripe\Control\HTTPRequest, index) RequestHandler.php:201 SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest) Controller.php:212 SilverStripe\Control\Controller->handleRequest(SilverStripe\Control\HTTPRequest) Director.php:361 SilverStripe\Control\Director->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest) VersionedHTTPMiddleware.php:40 SilverStripe\Versioned\VersionedHTTPMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) BasicAuthMiddleware.php:68 SilverStripe\Security\BasicAuthMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) AuthenticationMiddleware.php:61 SilverStripe\Security\AuthenticationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) CanonicalURLMiddleware.php:155 SilverStripe\Control\Middleware\CanonicalURLMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) FlushMiddleware.php:26 SilverStripe\Control\Middleware\FlushMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) RequestProcessor.php:66 SilverStripe\Control\RequestProcessor->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) SessionMiddleware.php:20 SilverStripe\Control\Middleware\SessionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) AllowedHostsMiddleware.php:60 SilverStripe\Control\Middleware\AllowedHostsMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) TrustedProxyMiddleware.php:176 SilverStripe\Control\Middleware\TrustedProxyMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) HTTPMiddlewareAware.php:65 SilverStripe\Control\Director->callMiddleware(SilverStripe\Control\HTTPRequest, Closure) Director.php:370 SilverStripe\Control\Director->handleRequest(SilverStripe\Control\HTTPRequest) HTTPApplication.php:48 SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest) call_user_func(Closure, SilverStripe\Control\HTTPRequest) HTTPApplication.php:66 SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest) call_user_func(Closure, SilverStripe\Control\HTTPRequest) ErrorControlChainMiddleware.php:56 SilverStripe\Core\Startup\ErrorControlChainMiddleware->SilverStripe\Core\Startup\{closure}(SilverStripe\Core\Startup\ErrorControlChain) call_user_func(Closure, SilverStripe\Core\Startup\ErrorControlChain) ErrorControlChain.php:236 SilverStripe\Core\Startup\ErrorControlChain->step() ErrorControlChain.php:226 SilverStripe\Core\Startup\ErrorControlChain->execute() ErrorControlChainMiddleware.php:69 SilverStripe\Core\Startup\ErrorControlChainMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) HTTPMiddlewareAware.php:62 SilverStripe\Control\HTTPApplication->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) HTTPMiddlewareAware.php:65 SilverStripe\Control\HTTPApplication->callMiddleware(SilverStripe\Control\HTTPRequest, Closure) HTTPApplication.php:67 SilverStripe\Control\HTTPApplication->execute(SilverStripe\Control\HTTPRequest, Closure, ) HTTPApplication.php:49 SilverStripe\Control\HTTPApplication->handle(SilverStripe\Control\HTTPRequest) index.php:26 {"data":{"readFiles":{"pageInfo":{"totalCount":1,"__typename":"PageInfo"},"edges":[{"node":{"canDelete":true,"canEdit":true,"canView":true,"category":"folder","exists":false,"filename":"\/","id":0,"lastEdited":null,"name":null,"parentId":null,"title":null,"type":"folder","url":null,"__typename":"Folder","children":{"pageInfo":{"totalCount":1,"__typename":"PageInfo"},"edges":[{"node":{"canDelete":true,"canEdit":true,"canView":true,"category":"folder","exists":true,"filename":"Uploads\/","id":1,"lastEdited":"2018-03-02 16:03:58","name":"Uploads","parentId":0,"title":"Uploads","type":"folder","url":null,"__typename":"Folder","filesInUseCount":0},"__typename":"ChildrenEdge"}],"__typename":"ChildrenConnection"},"parents":[]},"__typename":"readFilesEdge"}],"__typename":"readFilesConnection"}}} ```
composer show output ``` $ composer show composer/ca-bundle 1.1.0 Lets you find a path to the sys... composer/installers v1.5.0 A multi-framework Composer libr... doctrine/instantiator 1.0.5 A small, lightweight utility to... embed/embed v3.3.1 PHP library to retrieve page in... guzzlehttp/psr7 1.4.2 PSR-7 message implementation th... heyday/silverstripe-responsive-images 2.0.0 Configure and send a series of ... intervention/image 2.4.1 Image handling and manipulation... league/csv 8.2.3 Csv data manipulation made easy... league/flysystem 1.0.43 Filesystem abstraction: Many fi... m1/env 2.1.0 Env is a lightweight library br... marcj/topsort 1.1.0 High-Performance TopSort/Depend... monolog/monolog 1.23.0 Sends your logs to files, socke... myclabs/deep-copy 1.7.0 Create deep copies (clones) of ... nikic/php-parser v3.1.5 A PHP parser written in PHP paragonie/random_compat v2.0.11 PHP 5.x polyfill for random_byt... phpdocumentor/reflection-common 1.0.1 Common reflection classes used ... phpdocumentor/reflection-docblock 3.3.2 With this component, a library ... phpdocumentor/type-resolver 0.4.0 phpspec/prophecy 1.7.5 Highly opinionated mocking fram... phpunit/php-code-coverage 4.0.8 Library that provides collectio... phpunit/php-file-iterator 1.4.5 FilterIterator implementation t... phpunit/php-text-template 1.2.1 Simple template engine. phpunit/php-timer 1.0.9 Utility class for timing phpunit/php-token-stream 1.4.12 Wrapper around PHP's tokenizer ... phpunit/phpunit 5.7.27 The PHP Unit Testing framework. phpunit/phpunit-mock-objects 3.4.4 Mock Object library for PHPUnit psr/cache 1.0.1 Common interface for caching li... psr/container 1.0.0 Common Container Interface (PHP... psr/http-message 1.0.1 Common interface for HTTP messages psr/log 1.0.2 Common interface for logging li... psr/simple-cache 1.0.0 Common interfaces for simple ca... sebastian/code-unit-reverse-lookup 1.0.1 Looks up which function or meth... sebastian/comparator 1.2.4 Provides the functionality to c... sebastian/diff 1.4.3 Diff implementation sebastian/environment 2.0.0 Provides functionality to handl... sebastian/exporter 2.0.0 Provides the functionality to e... sebastian/global-state 1.1.1 Snapshotting of global state sebastian/object-enumerator 2.0.1 Traverses array structures and ... sebastian/recursion-context 2.0.0 Provides functionality to recur... sebastian/resource-operations 1.0.0 Provides a list of PHP built-in... sebastian/version 2.0.1 Library that helps with managin... silverstripe/admin 1.x-dev 96af290 SilverStripe admin interface silverstripe/asset-admin 1.x-dev f181ba3 Asset management for the Silver... silverstripe/assets 1.x-dev c5fc770 SilverStripe Assets component silverstripe/config 1.x-dev e0e4013 SilverStripe configuration base... silverstripe/framework 4.x-dev 15410cb The SilverStripe framework silverstripe/graphql 1.0.3 GraphQL server for SilverStripe... silverstripe/recipe-plugin 1.1.0 Helper plugin to install Silver... silverstripe/vendor-plugin 1.3.1 Allows vendor modules to expose... silverstripe/versioned 1.x-dev 5e39896 SilverStripe Versioned component swiftmailer/swiftmailer v5.4.9 Swiftmailer, free feature-rich ... symbiote/silverstripe-gridfieldextensions 3.1.1 A collection of useful grid fie... symfony/cache v3.4.5 Symfony Cache component with PS... symfony/config v3.4.5 Symfony Config Component symfony/filesystem v3.4.5 Symfony Filesystem Component symfony/finder v3.4.5 Symfony Finder Component symfony/polyfill-apcu v1.7.0 Symfony polyfill backporting ap... symfony/polyfill-mbstring v1.7.0 Symfony polyfill for the Mbstri... symfony/translation v2.8.35 Symfony Translation Component symfony/yaml v3.4.5 Symfony Yaml Component webmozart/assert 1.3.0 Assertions to validate method i... webonyx/graphql-php v0.8.0 A PHP port of GraphQL reference... ```

I have no idea if this is a regression in this module, or in asset-admin 😁

unclecheese commented 6 years ago

I've looked into this, and all signs point to this being resolved with a composer update.

silverstripe/asset-admin starts using callables for connection types in this commit to 1.1.

Support for callable connection types was added to silverstripe/graphql in this commit on 1.1.

silverstripe/asset-admin: 1.1 version requires silverstripe/graphql: ^1, which means version 1.0.3 as you have it, is within the constraint, but incompatible.

Suggested fix silverstripe/asset-admin: 1.1 requires silverstripe/graphql >= 1.1 < 2.0

unclecheese commented 6 years ago

Fix is here: https://github.com/silverstripe/silverstripe-asset-admin/pull/789

tractorcow commented 6 years ago

Closed with https://github.com/silverstripe/silverstripe-asset-admin/pull/789