amplify-cli icon indicating copy to clipboard operation
amplify-cli copied to clipboard

fix: babel transform of aws-exports.js file when user defined babel configuration

Open sobolk opened this issue 3 years ago • 1 comments

Description of changes

Fixes https://github.com/aws-amplify/amplify-cli/issues/11030 . The fix makes sure that when we call babel we don't take configuration files into account. So that our transform is not affected by external settings.

Repro steps: Follow https://docs.amplify.aws/start/getting-started/installation/q/integration/vue/ with Amplify CLI 10.1.0

Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
Error: [BABEL] unknown: Preset /* your preset */ requires a filename to be set when babel is called directly,

babel.transform(code, { filename: 'file.ts', presets: [/* your preset */] });

See https://babeljs.io/docs/en/options#filename for more information.
    at validateIfOptionNeedsFilename (/Users/sobkamil/git/amplify-cli/node_modules/@babel/core/lib/config/full.js:295:11)
    at /Users/sobkamil/git/amplify-cli/node_modules/@babel/core/lib/config/full.js:307:52
    at Array.forEach (<anonymous>)
    at validatePreset (/Users/sobkamil/git/amplify-cli/node_modules/@babel/core/lib/config/full.js:307:25)
    at loadPresetDescriptor (/Users/sobkamil/git/amplify-cli/node_modules/@babel/core/lib/config/full.js:314:3)
    at [loadPresetDescriptor.next](http://loadpresetdescriptor.next/) (<anonymous>)
    at recursePresetDescriptors (/Users/sobkamil/git/amplify-cli/node_modules/@babel/core/lib/config/full.js:114:30)
    at [recursePresetDescriptors.next](http://recursepresetdescriptors.next/) (<anonymous>)
    at /Users/sobkamil/git/amplify-cli/node_modules/@babel/core/lib/config/full.js:191:21
    at [Generator.next](http://generator.next/) (<anonymous>)
    at loadFullConfig (/Users/sobkamil/git/amplify-cli/node_modules/@babel/core/lib/config/full.js:144:5)
    at [loadFullConfig.next](http://loadfullconfig.next/) (<anonymous>)
    at Object.transform (/Users/sobkamil/git/amplify-cli/node_modules/@babel/core/lib/transform.js:23:45)
    at [transform.next](http://transform.next/) (<anonymous>)
    at evaluateSync (/Users/sobkamil/git/amplify-cli/node_modules/gensync/index.js:251:28)
    at Object.sync (/Users/sobkamil/git/amplify-cli/node_modules/gensync/index.js:89:14)
    at getCurrentAWSExports (/Users/sobkamil/git/amplify-cli/packages/amplify-frontend-javascript/lib/frontend-config-creator.js:292:30)
    at getAWSExports (/Users/sobkamil/git/amplify-cli/packages/amplify-frontend-javascript/lib/frontend-config-creator.js:156:35)
    at createAWSExports (/Users/sobkamil/git/amplify-cli/packages/amplify-frontend-javascript/lib/frontend-config-creator.js:148:31)
    at Object.createFrontendConfigs (/Users/sobkamil/git/amplify-cli/packages/amplify-frontend-javascript/index.js:47:16)
    at onCategoryOutputsChange (/Users/sobkamil/git/amplify-cli/packages/amplify-cli/lib/extensions/amplify-helpers/on-category-outputs-change.js:44:37)
    at AmplifyToolkit.pushResources [as _pushResources] (/Users/sobkamil/git/amplify-cli/packages/amplify-cli/lib/extensions/amplify-helpers/push-resources.js:78:76)
    at async [Object.run](http://object.run/) (/Users/sobkamil/git/amplify-cli/packages/amplify-cli/lib/commands/push.js:50:16)
    at async Object.executeAmplifyCommand (/Users/sobkamil/git/amplify-cli/packages/amplify-cli/lib/index.js:212:9)
    at async executePluginModuleCommand (/Users/sobkamil/git/amplify-cli/packages/amplify-cli/lib/execution-manager.js:142:5)
    at async executeCommand (/Users/sobkamil/git/amplify-cli/packages/amplify-cli/lib/execution-manager.js:40:9)
    at async [Object.run](http://object.run/) (/Users/sobkamil/git/amplify-cli/packages/amplify-cli/lib/index.js:153:5)
🛑 An error occurred during the push operation:
Unable to parse aws-exports.js. Has this file been modified?

Issue #, if available

Description of how you validated changes

Checklist

  • [ x] PR description included
  • [ x] yarn test passes
  • [ x] Tests are changed or added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

sobolk avatar Sep 21 '22 14:09 sobolk

Codecov Report

Merging #11041 (5d0d848) into hotfix_092122 (3c39eba) will increase coverage by 0.00%. The diff coverage is n/a.

@@              Coverage Diff               @@
##           hotfix_092122   #11041   +/-   ##
==============================================
  Coverage          47.82%   47.82%           
==============================================
  Files                669      669           
  Lines              32678    32678           
  Branches            6608     6608           
==============================================
+ Hits               15627    15628    +1     
+ Misses             15419    15418    -1     
  Partials            1632     1632           
Impacted Files Coverage Δ
...li/src/domain/amplify-usageData/getUsageDataUrl.ts 100.00% <0.00%> (+12.50%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

codecov-commenter avatar Sep 21 '22 14:09 codecov-commenter