redwood: Netlify deploy failing on v0.290: built graphql.js function is larger than 50Mb, exceeding size limit

I bumped to v0.29.0 this morning and during the day I deployed on netlify. The deploy fails with the log below, I’ll include the diff on my package.json files as well. It seems like the latest version bloats the archive for graphql function, which packs a solid 75.1mb now

# packages.json
  "devDependencies": {
-    "@redwoodjs/core": "^0.28.3"
+   "@redwoodjs/core": "^0.29.0"
  },
# api/package.json
-    "@redwoodjs/api": "^0.28.3",
+   "@redwoodjs/api-server": "^0.29.0",
+   "@redwoodjs/api": "^0.29.0",
Netlify deploy log: Click to view
# netlify deploy log
11:45:33 AM: Build ready to start
11:45:35 AM: build-image version: be42e453d6c8f171cc2f654acc29c0a8b60e6d93
11:45:35 AM: build-image tag: v3.7.1
11:45:35 AM: buildbot version: 0b01511b09101e70a768555816a3df99a1b54ffe
11:45:35 AM: Fetching cached dependencies
11:45:35 AM: Starting to download cache of 637.1MB
11:46:00 AM: Finished downloading cache in 24.351854893s
11:46:00 AM: Starting to extract cache
11:46:22 AM: Finished extracting cache in 22.172170038s
11:46:22 AM: Finished fetching cache in 46.658935451s
11:46:22 AM: Starting to prepare the repo for build
11:46:23 AM: Preparing Git Reference refs/heads/preview
11:46:25 AM: Different publish path detected, going to use the one specified in the Netlify configuration file: 'web/dist' versus '/' in the Netlify UI
11:46:25 AM: Different functions path detected, going to use the one specified in the Netlify configuration file: 'api/dist/functions' versus '' in the Netlify UI
11:46:25 AM: Different build command detected, going to use the one specified in the Netlify configuration file: 'yarn rw deploy netlify' versus '' in the Netlify UI
11:46:25 AM: Starting build script
11:46:25 AM: Installing dependencies
11:46:25 AM: Python version set to 2.7
11:46:26 AM: Started restoring cached node version
11:46:29 AM: Finished restoring cached node version
11:46:29 AM: Attempting node version 'lts/*' from .nvmrc
11:46:29 AM: v14.16.1 is already installed.
11:46:30 AM: Now using node v14.16.1 (npm v6.14.12)
11:46:30 AM: Started restoring cached build plugins
11:46:30 AM: Finished restoring cached build plugins
11:46:30 AM: Attempting ruby version 2.7.1, read from environment
11:46:31 AM: Using ruby version 2.7.1
11:46:31 AM: Using PHP version 5.6
11:46:31 AM: Started restoring cached yarn cache
11:46:31 AM: Finished restoring cached yarn cache
11:46:32 AM: Started restoring cached node modules
11:46:32 AM: Finished restoring cached node modules
11:46:32 AM: Installing NPM modules using Yarn version 1.22.4
11:46:32 AM: yarn install v1.22.4
11:46:32 AM: [1/5] Validating package.json...
11:46:32 AM: [2/5] Resolving packages...
11:46:33 AM: [3/5] Fetching packages...
11:47:41 AM: info fsevents@2.3.2: The platform "linux" is incompatible with this module.
11:47:41 AM: info "fsevents@2.3.2" is an optional dependency and failed compatibility check. Excluding it from installation.
11:47:41 AM: info fsevents@1.2.13: The platform "linux" is incompatible with this module.
11:47:41 AM: info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.
11:47:41 AM: [4/5] Linking dependencies...
11:47:41 AM: warning "@redwoodjs/core > @storybook/addon-a11y > react-sizeme@2.6.12" has incorrect peer dependency "react@^0.14.0 || ^15.0.0-0 || ^16.0.0".
11:47:41 AM: warning "@redwoodjs/core > @storybook/addon-a11y > react-sizeme@2.6.12" has incorrect peer dependency "react-dom@^0.14.0 || ^15.0.0-0 || ^16.0.0".
11:47:41 AM: warning "@redwoodjs/core > @storybook/addon-a11y > @storybook/api > @reach/router@1.3.4" has incorrect peer dependency "react@15.x || 16.x || 16.4.0-alpha.0911da3".
11:47:41 AM: warning "@redwoodjs/core > @storybook/addon-a11y > @storybook/api > @reach/router@1.3.4" has incorrect peer dependency "react-dom@15.x || 16.x || 16.4.0-alpha.0911da3".
11:47:41 AM: warning "@redwoodjs/core > @redwoodjs/testing > @redwoodjs/web > react-hot-toast > goober@2.0.33" has unmet peer dependency "csstype@^2.6.2".
11:47:41 AM: warning "@redwoodjs/core > @storybook/addon-a11y > @storybook/api > @reach/router > create-react-context@0.3.0" has incorrect peer dependency "react@^0.14.0 || ^15.0.0 || ^16.0.0".
11:47:41 AM: warning "@redwoodjs/core > @storybook/react > @storybook/core > @storybook/ui > react-helmet-async@1.0.7" has incorrect peer dependency "react@^16.6.0".
11:47:41 AM: warning "@redwoodjs/core > @storybook/react > @storybook/core > @storybook/ui > react-helmet-async@1.0.7" has incorrect peer dependency "react-dom@^16.6.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > @date-io/date-fns@1.3.13" has unmet peer dependency "date-fns@^2.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > @material-ui/pickers@3.2.10" has unmet peer dependency "@date-io/core@^1.3.6".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > @material-ui/pickers@3.2.10" has incorrect peer dependency "react@^16.8.4".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > @material-ui/pickers@3.2.10" has incorrect peer dependency "react-dom@^16.8.4".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > @storybook/addon-essentials@6.1.21" has unmet peer dependency "@babel/core@^7.9.6".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > @storybook/addon-essentials@6.1.21" has unmet peer dependency "babel-loader@^8.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > dexie-react-hooks@1.0.6" has unmet peer dependency "@types/react@>=16".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > material-ui-color@1.1.0" has unmet peer dependency "material-ui-popup-state@^1.5.3".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > sass-loader@10.1.1" has unmet peer dependency "webpack@^4.36.0 || ^5.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-material-ui@0.9.0-alpha.24" has unmet peer dependency "@storybook/addons@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-material-ui@0.9.0-alpha.24" has unmet peer dependency "@storybook/react@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > postcss-loader@4.0.2" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > postcss-loader@4.0.2" has unmet peer dependency "postcss@^7.0.0 || ^8.0.1".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-designs@5.4.5" has unmet peer dependency "@storybook/addons@^5.0.0 || ^6.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-designs@5.4.5" has unmet peer dependency "@storybook/components@^5.0.0 || ^6.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-designs@5.4.5" has unmet peer dependency "@storybook/theming@^5.0.0 || ^6.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > @storybook/addon-essentials > @storybook/addon-docs@6.1.21" has unmet peer dependency "@babel/core@^7.11.5".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > @storybook/addon-essentials > @storybook/addon-docs@6.1.21" has unmet peer dependency "babel-loader@^8.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-material-ui > @usulpro/color-picker@1.1.4" has incorrect peer dependency "react@^0.14.7 || ^15.0.0 || ^16.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-material-ui > react-inspector@2.3.1" has incorrect peer dependency "react@^0.14.0 || ^15.0.0 || ^16.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-designs > react-pdf@4.2.0" has incorrect peer dependency "react@^16.3.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-designs > react-pdf@4.2.0" has incorrect peer dependency "react-dom@^16.3.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > api > firebase-admin > @firebase/database > @firebase/auth-interop-types@0.1.5" has unmet peer dependency "@firebase/app-types@0.x".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > @storybook/addon-essentials > @storybook/addon-actions > react-inspector@5.1.0" has incorrect peer dependency "react@^16.8.4".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-designs > react-pdf > pdfjs-dist@2.1.266" has unmet peer dependency "webpack@^3.0.0 || ^4.0.0-alpha.0 || ^4.0.0".
11:47:41 AM: warning "workspace-aggregator-dcfb09ff-7c63-43f9-a961-778007910745 > web > storybook-addon-designs > react-pdf > pdfjs-dist > worker-loader@2.0.0" has unmet peer dependency "webpack@^3.0.0 || ^4.0.0-alpha.0 || ^4.0.0".
11:48:40 AM: [5/5] Building fresh packages...
11:48:53 AM: Done in 140.70s.
11:48:53 AM: NPM modules installed using Yarn
11:48:53 AM: Started restoring cached go cache
11:48:53 AM: Finished restoring cached go cache
11:48:53 AM: go version go1.14.4 linux/amd64
11:48:53 AM: go version go1.14.4 linux/amd64
11:48:53 AM: Installing missing commands
11:48:53 AM: Verify run directory
11:48:55 AM: ​
11:48:55 AM: ────────────────────────────────────────────────────────────────
11:48:55 AM:   Netlify Build                                                 
11:48:55 AM: ────────────────────────────────────────────────────────────────
11:48:55 AM: ​
11:48:55 AM: ❯ Version
11:48:55 AM:   @netlify/build 10.2.5
11:48:55 AM: ​
11:48:55 AM: ❯ Flags
11:48:55 AM:   deployId: 6070223da7ce7500072c25e6
11:48:55 AM: ​
11:48:55 AM: ❯ Current directory
11:48:55 AM:   /opt/build/repo
11:48:55 AM: ​
11:48:55 AM: ❯ Config file
11:48:55 AM:   /opt/build/repo/netlify.toml
11:48:55 AM: ​
11:48:55 AM: ❯ Context
11:48:55 AM:   production
11:48:55 AM: ​
11:48:55 AM: ❯ Loading plugins
11:48:55 AM:    - netlify-plugin-inline-critical-css@1.2.0 from Netlify app
11:48:55 AM:    - netlify-plugin-minify-html@0.3.1 from Netlify app
11:48:55 AM:    - @netlify/plugin-lighthouse@2.0.0 from Netlify app
11:48:57 AM: ​
11:48:57 AM: ────────────────────────────────────────────────────────────────
11:48:57 AM:   1. build.command from netlify.toml                            
11:48:57 AM: ────────────────────────────────────────────────────────────────
11:48:57 AM: ​
11:48:57 AM: $ yarn rw deploy netlify
11:48:58 AM: yarn run v1.22.4
11:48:58 AM: $ /opt/build/repo/node_modules/.bin/rw deploy netlify
11:49:00 AM: $ /opt/build/repo/node_modules/.bin/rw build
11:49:03 AM: Generating the Prisma client... [started]
11:49:09 AM: Generating the Prisma client... [completed]
11:49:09 AM: [09:49:09] Cleaning "web"... (./web/dist/) [started]
11:49:09 AM: [09:49:09] Cleaning "web"... (./web/dist/) [completed]
11:49:09 AM: [09:49:09] Building "api"... [started]
11:49:15 AM: [09:49:15] Building "api"... [completed]
11:49:15 AM: [09:49:15] Building "web"... [started]
11:50:12 AM: [09:50:12] Building "web"... [completed]
11:50:12 AM: [09:50:12] Prerendering "web"... [started]
11:50:12 AM: [09:50:12] Prerendering "web"... [skipped]
11:50:12 AM: [09:50:12] → You have not marked any routes as `prerender` in `Routes.{js,tsx}`
11:50:12 AM: $ /opt/build/repo/node_modules/.bin/rw prisma migrate deploy
11:50:14 AM: 
11:50:14 AM: Running Prisma CLI:
11:50:14 AM: yarn prisma migrate deploy --schema "/opt/build/repo/api/db/schema.prisma"
11:50:15 AM: Prisma schema loaded from db/schema.prisma
11:50:15 AM: Datasource "DS": PostgreSQL database "d7r5sgkvdqiigo", schema "public" at "ec2-18-214-140-149.compute-1.amazonaws.com:5432"
11:50:16 AM: 14 migrations found in prisma/migrations
11:50:17 AM: No pending migrations to apply.
11:50:18 AM: $ /opt/build/repo/node_modules/.bin/rw dataMigrate up
11:50:23 AM: 
11:50:23 AM: No data migrations run, already up-to-date.
11:50:23 AM: 
11:50:23 AM: Done in 85.83s.
11:50:23 AM: ​
11:50:23 AM: (build.command completed in 1m 26.1s)
11:50:23 AM: ​
11:50:23 AM: ────────────────────────────────────────────────────────────────
11:50:23 AM:   2. Functions bundling                                         
11:50:23 AM: ────────────────────────────────────────────────────────────────
11:50:23 AM: ​
11:50:23 AM: Packaging Functions from api/dist/functions directory:
11:50:23 AM:  - graphql.js
11:50:23 AM:  - poulpulate.js
11:50:23 AM: ​
11:51:16 AM: ​
11:51:16 AM: (Functions bundling completed in 53.1s)
11:51:16 AM: ​
11:51:16 AM: ──────────────────────────────────────────────────────────────────
11:51:16 AM:   3. onPostBuild command from netlify-plugin-inline-critical-css  
11:51:16 AM: ──────────────────────────────────────────────────────────────────
11:51:16 AM: ​
11:51:21 AM: Critical CSS successfully inlined!
11:51:21 AM: ​
11:51:21 AM: (netlify-plugin-inline-critical-css onPostBuild completed in 4.5s)
11:51:21 AM: ​
11:51:21 AM: ────────────────────────────────────────────────────────────────
11:51:21 AM:   4. onPostBuild command from netlify-plugin-minify-html        
11:51:21 AM: ────────────────────────────────────────────────────────────────
11:51:21 AM: ​
11:51:21 AM: Minifiying HTML in the deploy context: production
11:51:21 AM: Minifiying HTML with these options: Default
11:51:21 AM: ​
11:51:21 AM: (netlify-plugin-minify-html onPostBuild completed in 69ms)
11:51:21 AM: ​
11:51:21 AM: ────────────────────────────────────────────────────────────────
11:51:21 AM:   5. onPostBuild command from @netlify/plugin-lighthouse        
11:51:21 AM: ────────────────────────────────────────────────────────────────
11:51:21 AM: ​
11:51:21 AM: Serving and scanning site from directory web/dist
11:51:21 AM:   ChromeLauncher Waiting for browser. +0ms
11:51:21 AM:   ChromeLauncher Waiting for browser... +1ms
11:51:21 AM:   ChromeLauncher Waiting for browser..... +503ms
11:51:21 AM:   ChromeLauncher Waiting for browser.....✓ +1ms
11:51:22 AM:   config:warn IFrameElements gatherer requested, however no audit requires it. +610ms
11:51:22 AM:   config:warn FormElements gatherer requested, however no audit requires it. +1ms
11:51:22 AM:   status Connecting to browser +94ms
11:51:22 AM:   status Resetting state with about:blank +43ms
11:51:22 AM:   status Benchmarking machine +31ms
11:51:23 AM:   status Initializing… +1s
11:51:23 AM:   status Running defaultPass pass CSSUsage, JsUsage, ViewportDimensions, ConsoleMessages, AnchorElements, ImageElements, LinkElements, MetaElements, ScriptElements, IFrameElements, FormElements, MainDocumentContent, GlobalListeners, AppCacheManifest, Doctype, DOMStats, OptimizedImages, PasswordInputsWithPreventedPaste, ResponseCompression, TagsBlockingFirstPaint, FontSize, EmbeddedContent, RobotsTxt, TapTargets, Accessibility, TraceElements, InspectorIssues, SourceMaps, FullPageScreenshot +35ms
11:51:23 AM:   status Resetting state with about:blank +0ms
11:51:23 AM:   status Setting up network for the pass trace +14ms
11:51:23 AM:   status Cleaning browser cache +2ms
11:51:23 AM:   status Beginning devtoolsLog and trace +13ms
11:51:23 AM:   status Loading page & waiting for onload +24ms
11:51:23 AM:  ⚠  warning (DeprecationWarning)  OutgoingMessage.prototype._headers is deprecated
11:51:23 AM: [DEP0066] 
11:51:23 AM:     at new module.exports (/opt/build/repo/.netlify/plugins/node_modules/union/lib/response-stream.js:50:60)
11:51:23 AM:     at new module.exports (/opt/build/repo/.netlify/plugins/node_modules/union/lib/routing-stream.js:30:17)
11:51:23 AM:     at Server.requestHandler (/opt/build/repo/.netlify/plugins/node_modules/union/lib/core.js:27:25)
11:51:23 AM:     at Server.emit (events.js:310:20)
11:51:23 AM:     at parserOnIncoming (_http_server.js:786:12)
11:51:23 AM:     at HTTPParser.parserOnHeadersComplete (_http_common.js:119:17)
11:51:25 AM:   status Gathering in-page: CSSUsage +2s
11:51:25 AM:   status Gathering in-page: JsUsage +0ms
11:51:25 AM:   status Gathering in-page: ViewportDimensions +0ms
11:51:25 AM:   status Gathering in-page: ConsoleMessages +0ms
11:51:25 AM:   status Gathering in-page: AnchorElements +0ms
11:51:25 AM:   status Gathering in-page: ImageElements +0ms
11:51:25 AM:   status Gathering in-page: LinkElements +0ms
11:51:25 AM:   status Gathering in-page: MetaElements +0ms
11:51:25 AM:   status Gathering in-page: ScriptElements +0ms
11:51:25 AM:   status Gathering in-page: IFrameElements +0ms
11:51:25 AM:   status Gathering in-page: FormElements +0ms
11:51:25 AM:   status Gathering in-page: MainDocumentContent +0ms
11:51:25 AM:   status Gathering in-page: GlobalListeners +0ms
11:51:25 AM:   status Gathering in-page: AppCacheManifest +1ms
11:51:25 AM:   status Gathering in-page: Doctype +0ms
11:51:25 AM:   status Gathering in-page: DOMStats +0ms
11:51:25 AM:   status Gathering in-page: OptimizedImages +0ms
11:51:25 AM:   status Gathering in-page: PasswordInputsWithPreventedPaste +0ms
11:51:25 AM:   status Gathering in-page: ResponseCompression +0ms
11:51:25 AM:   status Gathering in-page: TagsBlockingFirstPaint +0ms
11:51:25 AM:   status Gathering in-page: FontSize +0ms
11:51:25 AM:   status Gathering in-page: EmbeddedContent +0ms
11:51:25 AM:   status Gathering in-page: RobotsTxt +0ms
11:51:25 AM:   status Gathering in-page: TapTargets +0ms
11:51:25 AM:   status Gathering in-page: Accessibility +0ms
11:51:25 AM:   status Gathering in-page: TraceElements +0ms
11:51:25 AM:   status Gathering in-page: InspectorIssues +0ms
11:51:25 AM:   status Gathering in-page: SourceMaps +0ms
11:51:25 AM:   status Gathering in-page: FullPageScreenshot +0ms
11:51:25 AM:   status Gathering trace +1ms
11:51:26 AM:   status Gathering devtoolsLog & network records +164ms
11:51:26 AM:   status Gathering: CSSUsage +8ms
11:51:27 AM:   status Gathering: JsUsage +943ms
11:51:27 AM:   status Gathering: ViewportDimensions +71ms
11:51:27 AM:   status Gathering: ConsoleMessages +3ms
11:51:27 AM:   status Gathering: AnchorElements +24ms
11:51:27 AM:   status Gathering: ImageElements +22ms
11:51:27 AM:   status Gathering: LinkElements +275ms
11:51:27 AM:   status Gathering: MetaElements +7ms
11:51:27 AM:   status Gathering: ScriptElements +3ms
11:51:27 AM:   status Gathering: IFrameElements +193ms
11:51:27 AM:   status Gathering: FormElements +10ms
11:51:27 AM:   status Gathering: MainDocumentContent +9ms
11:51:27 AM:   status Gathering: GlobalListeners +3ms
11:51:27 AM:   status Gathering: AppCacheManifest +3ms
11:51:27 AM:   status Gathering: Doctype +2ms
11:51:27 AM:   status Gathering: DOMStats +3ms
11:51:27 AM:   status Gathering: OptimizedImages +6ms
11:51:27 AM:   status Gathering: PasswordInputsWithPreventedPaste +1ms
11:51:27 AM:   status Gathering: ResponseCompression +4ms
11:51:28 AM:   status Gathering: TagsBlockingFirstPaint +396ms
11:51:28 AM:   status Gathering: FontSize +6ms
11:51:30 AM:   status Gathering: EmbeddedContent +2s
11:51:30 AM:   status Gathering: RobotsTxt +5ms
11:51:30 AM:   status Gathering: TapTargets +10ms
11:51:30 AM:   status Gathering: Accessibility +15ms
11:51:30 AM:   status Gathering: TraceElements +255ms
11:51:30 AM:   status Gathering: InspectorIssues +51ms
11:51:30 AM:   status Gathering: SourceMaps +4ms
11:51:31 AM:   status Gathering: FullPageScreenshot +374ms
11:51:31 AM:   status Populate base artifacts +239ms
11:51:31 AM:   status Get webapp manifest +0ms
11:51:31 AM:   status Collect stacks +1ms
11:51:31 AM:   status Running offlinePass pass ServiceWorker +24ms
11:51:31 AM:   status Resetting state with about:blank +0ms
11:51:31 AM:   status Setting up network for the pass trace +19ms
11:51:31 AM:   status Beginning devtoolsLog and trace +5ms
11:51:31 AM:   status Loading page & waiting for onload +0ms
11:51:31 AM:   status Gathering in-page: ServiceWorker +421ms
11:51:31 AM:   status Gathering devtoolsLog & network records +0ms
11:51:31 AM:   status Gathering: ServiceWorker +83ms
11:51:31 AM:   status Running redirectPass pass HTTPRedirect +3ms
11:51:31 AM:   status Resetting state with about:blank +1ms
11:51:31 AM:   status Setting up network for the pass trace +90ms
11:51:32 AM:   status Beginning devtoolsLog and trace +36ms
11:51:32 AM:   status Loading page & waiting for onload +0ms
11:51:32 AM:   status Gathering in-page: HTTPRedirect +227ms
11:51:32 AM:   status Gathering devtoolsLog & network records +0ms
11:51:32 AM:   status Gathering: HTTPRedirect +38ms
11:51:32 AM:   status Disconnecting from browser... +45ms
11:51:32 AM:   status Analyzing and running audits... +15ms
11:51:32 AM:   status Auditing: Uses HTTPS +10ms
11:51:32 AM:   status Auditing: Redirects HTTP traffic to HTTPS +22ms
11:51:32 AM:   status Auditing: Registers a service worker that controls page and `start_url` +7ms
11:51:32 AM:   status Auditing: Has a `<meta name="viewport">` tag with `width` or `initial-scale` +7ms
11:51:32 AM:   status Auditing: First Contentful Paint +7ms
11:51:32 AM:   status Auditing: Largest Contentful Paint +40ms
11:51:32 AM:   status Auditing: First Meaningful Paint +15ms
11:51:32 AM:   status Auditing: Speed Index +4ms
11:51:32 AM:   status Auditing: Screenshot Thumbnails +353ms
11:51:33 AM:   status Auditing: Final Screenshot +184ms
11:51:33 AM:   status Auditing: Estimated Input Latency +6ms
11:51:33 AM:   status Auditing: Total Blocking Time +20ms
11:51:33 AM:   status Auditing: Max Potential First Input Delay +51ms
11:51:33 AM:   status Auditing: Cumulative Layout Shift +5ms
11:51:33 AM:   status Auditing: No browser errors logged to the console +15ms
11:51:33 AM:   status Auditing: Initial server response time was short +3ms
11:51:33 AM:   status Auditing: First CPU Idle +4ms
11:51:33 AM:   status Auditing: Time to Interactive +8ms
11:51:33 AM:   status Auditing: User Timing marks and measures +3ms
11:51:33 AM:   status Auditing: Avoid chaining critical requests +3ms
11:51:33 AM:   status Auditing: Avoid multiple page redirects +5ms
11:51:33 AM:   status Auditing: Web app manifest and service worker meet the installability requirements +3ms
11:51:33 AM:   status Auditing: Provides a valid `apple-touch-icon` +7ms
11:51:33 AM:   status Auditing: Configured for a custom splash screen +5ms
11:51:33 AM:   status Auditing: Sets a theme color for the address bar. +8ms
11:51:33 AM:   status Auditing: Manifest has a maskable icon +6ms
11:51:33 AM:   status Auditing: Content is sized correctly for the viewport +6ms
11:51:33 AM:   status Auditing: Displays images with correct aspect ratio +4ms
11:51:33 AM:   status Auditing: Serves images with appropriate resolution +3ms
11:51:33 AM:   status Auditing: Fonts with `font-display: optional` are preloaded +4ms
11:51:33 AM:   status Auditing: Avoids deprecated APIs +13ms
11:51:33 AM:   status Auditing: Minimizes main-thread work +3ms
11:51:33 AM:   status Auditing: JavaScript execution time +18ms
11:51:33 AM:   status Auditing: Preload key requests +13ms
11:51:33 AM:   status Auditing: Preconnect to required origins +9ms
11:51:33 AM:   status Auditing: All text remains visible during webfont loads +4ms
11:51:33 AM:   status Auditing: Diagnostics +12ms
11:51:33 AM:   status Auditing: Network Requests +1ms
11:51:33 AM:   status Auditing: Network Round Trip Times +2ms
11:51:33 AM:   status Auditing: Server Backend Latencies +3ms
11:51:33 AM:   status Auditing: Tasks +3ms
11:51:33 AM:   status Auditing: Metrics +0ms
11:51:33 AM:   CLS-AF:warn Trace does not have weighted layout shift scores. CLS-AF may not be accurate. +1ms
11:51:33 AM:   status Auditing: Performance budget +3ms
11:51:33 AM:   status Auditing: Timing budget +4ms
11:51:33 AM:   status Auditing: Keep request counts low and transfer sizes small +2ms
11:51:33 AM:   status Auditing: Minimize third-party usage +5ms
11:51:33 AM:   status Auditing: Lazy load third-party resources with facades +10ms
11:51:33 AM:   status Auditing: Largest Contentful Paint element +4ms
11:51:33 AM:   status Auditing: Avoid large layout shifts +3ms
11:51:33 AM:   status Auditing: Avoid long main-thread tasks +4ms
11:51:33 AM:   status Auditing: Avoids `unload` event listeners +8ms
11:51:33 AM:   status Auditing: Avoid non-composited animations +3ms
11:51:33 AM:   status Auditing: Image elements have explicit `width` and `height` +4ms
11:51:33 AM:   status Auditing: Page has valid source maps +3ms
11:51:33 AM:   status Auditing: Preload Largest Contentful Paint image +5ms
11:51:33 AM:   status Auditing: Full-page screenshot +8ms
11:51:33 AM:   status Auditing: Site works cross-browser +1ms
11:51:33 AM:   status Auditing: Page transitions don't feel like they block on the network +3ms  status Auditing: Each page has a URL +3ms
11:51:33 AM:   status Auditing: `[accesskey]` values are unique +3ms
11:51:33 AM:   status Auditing: `[aria-*]` attributes match their roles +5ms
11:51:33 AM:   status Auditing: `button`, `link`, and `menuitem` elements have accessible names +11ms
11:51:33 AM:   status Auditing: `[aria-hidden="true"]` is not present on the document `<body>` +4ms
11:51:33 AM:   status Auditing: `[aria-hidden="true"]` elements do not contain focusable descendents +16ms
11:51:33 AM:   status Auditing: ARIA input fields have accessible names +15ms
11:51:33 AM:   status Auditing: ARIA `meter` elements have accessible names +5ms
11:51:33 AM:   status Auditing: ARIA `progressbar` elements have accessible names +5ms
11:51:33 AM:   status Auditing: `[role]`s have all required `[aria-*]` attributes +4ms
11:51:33 AM:   status Auditing: Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children. +13ms
11:51:33 AM:   status Auditing: `[role]`s are contained by their required parent element +14ms
11:51:33 AM:   status Auditing: `[role]` values are valid +12ms
11:51:33 AM:   status Auditing: ARIA toggle fields have accessible names +9ms
11:51:33 AM:   status Auditing: ARIA `tooltip` elements have accessible names +6ms
11:51:33 AM:   status Auditing: ARIA `treeitem` elements have accessible names +7ms
11:51:33 AM:   status Auditing: `[aria-*]` attributes have valid values +5ms
11:51:33 AM:   status Auditing: `[aria-*]` attributes are valid and not misspelled +15ms
11:51:33 AM:   status Auditing: Buttons have an accessible name +13ms
11:51:33 AM:   status Auditing: The page contains a heading, skip link, or landmark region +10ms
11:51:33 AM:   status Auditing: Background and foreground colors have a sufficient contrast ratio +5ms
11:51:33 AM:   status Auditing: `<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements. +12ms  status Auditing: Definition list items are wrapped in `<dl>` elements +9ms
11:51:33 AM:   status Auditing: Document has a `<title>` element +7ms
11:51:33 AM:   status Auditing: `[id]` attributes on active, focusable elements are unique +13ms
11:51:33 AM:   status Auditing: ARIA IDs are unique +8ms
11:51:33 AM:   status Auditing: No form fields have multiple labels +5ms
11:51:33 AM:   status Auditing: `<frame>` or `<iframe>` elements have a title +9ms
11:51:33 AM:   status Auditing: Heading elements appear in a sequentially-descending order +5ms
11:51:33 AM:   status Auditing: `<html>` element has a `[lang]` attribute +14ms
11:51:33 AM:   status Auditing: `<html>` element has a valid value for its `[lang]` attribute +11ms
11:51:33 AM:   status Auditing: Image elements have `[alt]` attributes +15ms
11:51:33 AM:   status Auditing: `<input type="image">` elements have `[alt]` text +7ms
11:51:33 AM:   status Auditing: Form elements have associated labels +8ms
11:51:33 AM:   status Auditing: Links have a discernible name +12ms
11:51:33 AM:   status Auditing: Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`). +6ms
11:51:33 AM:   status Auditing: List items (`<li>`) are contained within `<ul>` or `<ol>` parent elements +7ms
11:51:33 AM:   status Auditing: The document does not use `<meta http-equiv="refresh">` +11ms
11:51:33 AM:   status Auditing: `[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5. +9ms
11:51:33 AM:   status Auditing: `<object>` elements have `[alt]` text +12ms
11:51:33 AM:   status Auditing: No element has a `[tabindex]` value greater than 0 +9ms
11:51:33 AM:   status Auditing: Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table. +13ms
11:51:33 AM:   status Auditing: `<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe. +13ms
11:51:33 AM:   status Auditing: `[lang]` attributes have a valid value +10ms
11:51:33 AM:   status Auditing: `<video>` elements contain a `<track>` element with `[kind="captions"]` +10ms
11:51:33 AM:   status Auditing: Custom controls have associated labels +8ms
11:51:33 AM:   status Auditing: Custom controls have ARIA roles +1ms
11:51:33 AM:   status Auditing: User focus is not accidentally trapped in a region +0ms
11:51:33 AM:   status Auditing: Interactive controls are keyboard focusable +0ms
11:51:33 AM:   status Auditing: Interactive elements indicate their purpose and state +0ms
11:51:33 AM:   status Auditing: The page has a logical tab order +0ms
11:51:33 AM:   status Auditing: The user's focus is directed to new content added to the page +1ms  status Auditing: Offscreen content is hidden from assistive technology +0ms
11:51:33 AM:   status Auditing: HTML5 landmark elements are used to improve navigation +0ms
11:51:33 AM:   status Auditing: Visual order on the page follows DOM order +0ms
11:51:33 AM:   status Auditing: Uses efficient cache policy on static assets +1ms
11:51:33 AM:   status Auditing: Avoids enormous network payloads +4ms
11:51:33 AM:   status Auditing: Defer offscreen images +4ms
11:51:33 AM:   status Auditing: Eliminate render-blocking resources +6ms
11:51:33 AM:   status Auditing: Minify CSS +6ms
11:51:33 AM:   status Auditing: Minify JavaScript +175ms
11:51:34 AM:   status Auditing: Remove unused CSS +254ms
11:51:34 AM:   status Auditing: Remove unused JavaScript +9ms
11:51:34 AM:   status Auditing: Serve images in next-gen formats +344ms
11:51:34 AM:   status Auditing: Efficiently encode images +6ms
11:51:34 AM:   status Auditing: Enable text compression +8ms
11:51:34 AM:   status Auditing: Properly size images +8ms
11:51:34 AM:   status Auditing: Use video formats for animated content +8ms
11:51:34 AM:   status Auditing: Remove duplicate modules in JavaScript bundles +6ms
11:51:34 AM:   status Auditing: Avoid serving legacy JavaScript to modern browsers +136ms
11:51:35 AM:   status Auditing: Avoids Application Cache +383ms
11:51:35 AM:   status Auditing: Page has the HTML doctype +7ms
11:51:35 AM:   status Auditing: Properly defines charset +4ms
11:51:35 AM:   status Auditing: Avoids an excessive DOM size +5ms
11:51:35 AM:   status Auditing: Links to cross-origin destinations are safe +7ms
11:51:35 AM:   status Auditing: Avoids requesting the geolocation permission on page load +4ms
11:51:35 AM:   status Auditing: No issues in the `Issues` panel in Chrome Devtools +6ms
11:51:35 AM:   status Auditing: Avoids `document.write()` +4ms
11:51:35 AM:   status Auditing: Avoids front-end JavaScript libraries with known security vulnerabilities +5ms
11:51:35 AM:   status Auditing: Detected JavaScript libraries +6ms
11:51:35 AM:   status Auditing: Avoids requesting the notification permission on page load +6ms
11:51:35 AM:   status Auditing: Allows users to paste into password fields +3ms
11:51:35 AM:   status Auditing: Use HTTP/2 +4ms
11:51:35 AM:   status Auditing: Uses passive listeners to improve scrolling performance +7ms
11:51:35 AM:   status Auditing: Document has a meta description +3ms
11:51:35 AM:   status Auditing: Page has successful HTTP status code +4ms
11:51:35 AM:   status Auditing: Document uses legible font sizes +4ms
11:51:35 AM:   status Auditing: Links have descriptive text +5ms
11:51:35 AM:   status Auditing: Links are crawlable +3ms
11:51:35 AM:   status Auditing: Page isn’t blocked from indexing +3ms
11:51:35 AM:   status Auditing: robots.txt is valid +6ms
11:51:35 AM:   status Auditing: Tap targets are sized appropriately +4ms
11:51:35 AM:   status Auditing: Document has a valid `hreflang` +5ms
11:51:35 AM:   status Auditing: Document avoids plugins +2ms
11:51:35 AM:   status Auditing: Document has a valid `rel=canonical` +3ms
11:51:35 AM:   status Auditing: Structured data is valid +3ms
11:51:35 AM:   status Generating results... +1ms
11:51:35 AM:   ChromeLauncher Killing Chrome instance 2198 +52ms
11:51:35 AM: {
11:51:35 AM:   results: [
11:51:35 AM:     { title: 'Performance', score: 0.06, id: 'performance' },
11:51:35 AM:     { title: 'Accessibility', score: 1, id: 'accessibility' },
11:51:35 AM:     { title: 'Best Practices', score: 1, id: 'best-practices' },
11:51:35 AM:     { title: 'SEO', score: 0.92, id: 'seo' },
11:51:35 AM:     { title: 'Progressive Web App', score: 0.2, id: 'pwa' }
11:51:35 AM:   ]
11:51:35 AM: }
11:51:35 AM: ​
11:51:35 AM: (@netlify/plugin-lighthouse onPostBuild completed in 13.9s)
11:51:35 AM: ​
11:51:35 AM: ────────────────────────────────────────────────────────────────
11:51:35 AM:   6. Deploy site                                                
11:51:35 AM: ────────────────────────────────────────────────────────────────
11:51:35 AM: ​
11:51:35 AM: Starting to deploy site from 'web/dist'
11:51:35 AM: Creating deploy tree 
11:51:35 AM: Creating deploy upload records
11:51:36 AM: 45 new files to upload
11:51:36 AM: 2 new functions to upload
11:51:40 AM: Request must be smaller than 69905067 bytes for the CreateFunction operation
11:51:40 AM: Request must be smaller than 69905067 bytes for the CreateFunction operation
11:53:01 AM: Failed to upload file: graphql
11:53:08 AM: Failed to upload file: poulpulate
11:53:08 AM: Site deploy was successfully initiated
11:53:08 AM: ​
11:53:08 AM: (Deploy site completed in 1m 33.4s)
11:53:08 AM: ​
11:53:08 AM: ────────────────────────────────────────────────────────────────
11:53:08 AM:   Netlify Build Complete                                        
11:53:08 AM: ────────────────────────────────────────────────────────────────
11:53:08 AM: ​
11:53:08 AM: (Netlify Build completed in 4m 13.5s)
11:53:09 AM: Execution cancelled
11:53:09 AM: Error running command: Command was cancelled
11:53:09 AM: Failing build: Failed to build site
11:53:09 AM: Finished processing build request in 7m33.600135307s

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 1
  • Comments: 28 (9 by maintainers)

Most upvoted comments

Confirmed fix 🍾

New prisma version released in Redwood v0.30. https://github.com/redwoodjs/redwood/releases/tag/v0.30.0

@dac09 The workaround also works for Linux, but makes local development impossible. You can switch between defining the binaryTargets for deployment and not defining it for local development for example.

More permanent and convenient fix is being developed right now. Hope soon.

Is your project or your functions so much bigger @noire-munich?

@janpio not that I am aware of, we started a month ago and we don’t have many dependencies. I’ve added you to the repo so you can see, but I don’t think the issue would be in the code, I’ve worked on bigger RW projects and they didn’t have such issue on deployment. This being said it’s not the first time prisma popped the AWS limit, I’ve had the case five month ago or so but changing the engine fixed it at the time.

About actions taken, we:

Reproduction

Using this local build process: https://redwoodjs.com/docs/builds

Redwood v0.29.0 (using Prisma v2.20.1)

26.4Mb zipballs/graphql.zip

Zip uploaded here as graphql_0.29.0.zip: https://www.icloud.com/iclouddrive/0tDeREr2T6OfrgVhW39cUN2mg#graphql_0.29

  • ⚠️ 77Mb uncompressed
  • 38.1Mb api/zipballs/graphql_0.29.0/src/node_modules/.prisma

Redwood v0.28.4 (using Prisma v2.19)

21.4MB zipballs/graphql.zip

Zip uploaded here as graphql_0.28.4.zip: https://www.icloud.com/iclouddrive/0EPQTajvntzgTcDCVIv30TpOw#graphql_0.28

  • ⚠️ 61.8Mb uncompressed
  • 24.1Mb api/zipballs/graphql_0.28.4/src/node_modules/.prisma

We have a patch release 2.21.2 out that should fix this problem: https://github.com/prisma/prisma/releases/tag/2.21.2

Note:

If the issue persists when deploying to Netlify, we recommend manually clearing Netlify’s build cache from the ‘Deploys’ menu. Under ‘Trigger deploy’, you’ll see ‘Clear cache and deploy site’.

Re-opening until Prisma fix available and in Redwood patch release.

Verified solution on our project

We applied the fix outlined in this comment: https://github.com/redwoodjs/redwood/issues/2250#issuecomment-817220631

// schema.prisma
generator client {
  provider      = "prisma-client-js"
  binaryTargets = ["rhel-openssl-1.0.x"] // changing to this engine fixes it.
}

It appears that this does fix the netlify deploy issue but that it may break local dev on mac os ( not on linux ).

Also, we did not have to clear Netlify’s cache, so this might not be necessary.

This is the link to prisma’s issue, which can also be found in this conversation: https://github.com/prisma/prisma/issues/6503

Who does this affect?

This issue is specific to:

  1. Redwood v0.29.0 (which uses Prisma v2.20)
  2. Netlify deployment target

Although the size of the built graphql.js function is about 5mb larger compared to previous versions, other deploy targets are working fine. Additionally, it seems only more complex projects are failing when deployed on Netlify — Redwood Tutorial projects and our release QA deployments are successful on Netlify using v0.29.0

Do we have a reproduction in a repository that we could look at @thedavidprice, maybe from Danny?

Hey hey @janpio! Yeah I can provide the zips for before and after, will drop you a line on the slack channel tomorrow/Sunday when I have access to my computer

Just to note, my zips made on a mac are just shy of the limit. But I assume when running on Netlify Linux boxes, it produces a larger zip.

Your build API GraphQL function is > 50mb. Indeed, as in OP, the archive’s size for the graphql function is at 75.1mb now.

I’m removing the yarn.lock, I’ll post the results in a moment.

as for dependencies:

{
  "name": "api",
  "version": "0.0.0",
  "private": true,
  "dependencies": {
    "@redwoodjs/api-server": "^0.29.0",
    "@redwoodjs/api": "^0.29.0",
    "faker": "^5.4.0",
    "firebase-admin": "^9.5.0"
  }
}

And schema.prisma:

datasource DS {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider      = "prisma-client-js"
  binaryTargets = "native"
}