graphql-default-value-transformer icon indicating copy to clipboard operation
graphql-default-value-transformer copied to clipboard

Unable to import custom transformer module

Open damo78 opened this issue 4 years ago • 6 comments

@aws-amplify/[email protected]

Plugin installed globally (although got lots of rollbackFailedOptional)

npm i -g graphql-default-value-transformer
⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-se⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-se⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-se⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-se⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-se⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-se⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-se⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-se+ [email protected]
added 27 packages from 40 contributors in 7.09s

transform.conf.json

{
    "Version": 5,
    "ElasticsearchWarning": true,
    "transformers": [
        "graphql-default-value-transformer"
    ]
}

Used one field to test: name: String @default(value: "")

$: amplify mock api
Initializing new Amplify CLI version...
Done initializing new version.
Scanning for plugins...
Plugin scan successful
Unable to import custom transformer module(graphql-default-value-transformer).
You may fix this error by editing transformers at /Users/damo/Documents/Development/gitlab/dcit-sandbox/enterprise/products/sls-nextjs/next-sls-amplified/amplify/backend/api/nextslsgraph/transform.conf.json
Failed to start API Mock endpoint Error: Cannot find module 'lodash'
Require stack:
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/graphql-default-value-transformer/node_modules/graphql-transformer-core/lib/util/sanity-check.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/graphql-default-value-transformer/node_modules/graphql-transformer-core/lib/util/index.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/graphql-default-value-transformer/node_modules/graphql-transformer-core/lib/GraphQLTransform.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/graphql-default-value-transformer/node_modules/graphql-transformer-core/lib/index.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/graphql-default-value-transformer/lib/DefaultValueTransformer.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/graphql-default-value-transformer/lib/index.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/node_modules/import-global/index.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/lib/transform-graphql-schema.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/lib/push-resources.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/lib/amplify-service-migrate.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/lib/initializer.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/lib/index.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/lib/extensions/amplify-helpers/execute-provider-utils.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/lib/domain/amplify-toolkit.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/lib/domain/context.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/lib/context-manager.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/lib/index.js
- /Users/damo/.nvm/versions/node/v14.5.0/lib/node_modules/@aws-amplify/cli/bin/amplify

If you need any more info please let me know

damo78 avatar Dec 11 '20 12:12 damo78

@damo78 I found the solution. Inside the AWS Amplify Console, edit your build settings, and change it like the following:

backend:
  phases:
    build:
      commands:
        - npm i -g graphql-default-value-transformer
        - '# Execute Amplify CLI with the helper script'
        - amplifyPush --simple

I mean before amplifyPush --simple you need to provide the npm i -g graphql-default-value-transformer to install the custom transformer before doing the amplifyPush.

mjza avatar Dec 29 '20 07:12 mjza

Thanks @mjza, I'll give that a try

damo78 avatar Dec 29 '20 14:12 damo78

Thanks @mjza. Your suggestion worked for me.

vitalbone avatar Jan 28 '21 23:01 vitalbone

@damo78 I think you can close this ticket, as resolved.

mjza avatar Jan 29 '21 04:01 mjza

@awarzon @shortjared Maybe not a bad idea to edit your readme file, and include this instruction inside.

mjza avatar Jan 29 '21 04:01 mjza

@mjza been trying to get this to work using you suggestion above but still getting a similar error to the original one :(

image

version: 3
backend:
  phases:
    build:
      commands:
        - '# Fix to get the tranformer working https://github.com/trek10inc/graphql-default-value-transformer/issues/3'
        - npm i -g graphql-default-value-transformer
        - '# Execute Amplify CLI with the helper script'
        - amplifyPush --simple
frontend:
  phases:
    preBuild:
      commands:
        - '# Hack to get it running against node12 so it builds without errors - https://github.com/aws-amplify/amplify-cli/issues/3131'
        - nvm use 12
        - yarn install
    build:
      commands:
      - '# Make the commit ID available in the react app as REACT_APP_COMMIT_ID - https://codingblog.carterdan.net/2020/09/03/commit-hash-react-aws-amplify/'
      - REACT_APP_COMMIT_ID=$AWS_COMMIT_ID REACT_APP_BRANCH_NAME=$AWS_BRANCH yarn run build
  artifacts:
    baseDirectory: build
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

PeteDuncanson avatar Sep 03 '21 14:09 PeteDuncanson