From ddec362a5a9aff83a7b06a37c2c61af86d9b315c Mon Sep 17 00:00:00 2001 From: Jack Hsu Date: Tue, 9 Mar 2021 16:32:36 -0500 Subject: [PATCH] fix(nextjs): update babel setup to better support next apps (#4944) * fix(nextjs): update babel setup to better support next apps * fix(testing): remove babel-jest.config.json used in jest.config.js - Fix `@nrwl/web/babel` to support Jest as well --- .../api-workspace/generators/library.md | 8 ++ docs/node/api-workspace/generators/library.md | 8 ++ .../react/api-workspace/generators/library.md | 8 ++ packages/gatsby/babel.ts | 5 +- .../application/application.spec.ts | 6 - .../__snapshots__/jest-project.spec.ts.snap | 10 +- .../files/babel-jest.config.json__tmpl__ | 14 --- .../jest-project/files/jest.config.js__tmpl__ | 3 +- .../jest-project/jest-project.spec.ts | 40 +------ .../jest-project/lib/create-files.ts | 4 - .../update-10-0-0/update-jest-configs.spec.ts | 6 +- packages/next/babel.ts | 10 ++ packages/next/migrations.json | 6 + packages/next/package.json | 1 + packages/next/plugins/with-nx.ts | 17 ++- .../application/application.spec.ts | 6 - .../application/files/.babelrc__tmpl__ | 6 +- .../application/lib/update-jest-config.ts | 8 -- .../update-11-5-0/update-babel-config.spec.ts | 63 +++++++++++ .../update-11-5-0/update-babel-config.ts | 22 ++++ .../application/application.spec.ts | 22 +--- .../src/schematics/library/library.spec.ts | 23 +--- packages/react/babel.ts | 5 +- .../application/application.spec.ts | 5 - .../application/lib/update-jest-config.ts | 8 -- .../src/generators/library/library.spec.ts | 5 - .../react/src/generators/library/library.ts | 8 -- .../rules/update-babel-jest-config.spec.ts | 31 ------ .../src/rules/update-babel-jest-config.ts | 14 --- packages/web/babel.ts | 29 +++-- packages/web/migrations.json | 6 + .../application/application.spec.ts | 20 +--- .../application/files/app/.babelrc__tmpl__ | 6 +- packages/web/src/generators/init/init.ts | 1 - .../update-11-5-0/update-babel-config.spec.ts | 104 ++++++++++++++++++ .../update-11-5-0/update-babel-config.ts | 49 +++++++++ .../library/files/lib/__dot__babelrc__tmpl__ | 3 + .../src/generators/library/library.spec.ts | 41 +++---- .../src/generators/library/library.ts | 5 + .../src/generators/library/schema.d.ts | 1 + .../src/generators/library/schema.json | 5 + .../src/generators/preset/preset.spec.ts | 1 - 42 files changed, 378 insertions(+), 265 deletions(-) delete mode 100644 packages/jest/src/generators/jest-project/files/babel-jest.config.json__tmpl__ create mode 100644 packages/next/babel.ts create mode 100644 packages/next/src/migrations/update-11-5-0/update-babel-config.spec.ts create mode 100644 packages/next/src/migrations/update-11-5-0/update-babel-config.ts delete mode 100644 packages/react/src/rules/update-babel-jest-config.spec.ts delete mode 100644 packages/react/src/rules/update-babel-jest-config.ts create mode 100644 packages/web/src/migrations/update-11-5-0/update-babel-config.spec.ts create mode 100644 packages/web/src/migrations/update-11-5-0/update-babel-config.ts create mode 100644 packages/workspace/src/generators/library/files/lib/__dot__babelrc__tmpl__ diff --git a/docs/angular/api-workspace/generators/library.md b/docs/angular/api-workspace/generators/library.md index 8d29f77b02..7ca32f42b0 100644 --- a/docs/angular/api-workspace/generators/library.md +++ b/docs/angular/api-workspace/generators/library.md @@ -90,6 +90,14 @@ Type: `boolean` Use pascal case file names. +### skipBabelrc + +Default: `false` + +Type: `boolean` + +Do not generate .babelrc file. Useful for Node libraries that are not compiled by Babel + ### skipFormat Default: `false` diff --git a/docs/node/api-workspace/generators/library.md b/docs/node/api-workspace/generators/library.md index 1f0f79e2a7..de7742b488 100644 --- a/docs/node/api-workspace/generators/library.md +++ b/docs/node/api-workspace/generators/library.md @@ -90,6 +90,14 @@ Type: `boolean` Use pascal case file names. +### skipBabelrc + +Default: `false` + +Type: `boolean` + +Do not generate .babelrc file. Useful for Node libraries that are not compiled by Babel + ### skipFormat Default: `false` diff --git a/docs/react/api-workspace/generators/library.md b/docs/react/api-workspace/generators/library.md index 1f0f79e2a7..de7742b488 100644 --- a/docs/react/api-workspace/generators/library.md +++ b/docs/react/api-workspace/generators/library.md @@ -90,6 +90,14 @@ Type: `boolean` Use pascal case file names. +### skipBabelrc + +Default: `false` + +Type: `boolean` + +Do not generate .babelrc file. Useful for Node libraries that are not compiled by Babel + ### skipFormat Default: `false` diff --git a/packages/gatsby/babel.ts b/packages/gatsby/babel.ts index 65f2393365..586b4362ef 100644 --- a/packages/gatsby/babel.ts +++ b/packages/gatsby/babel.ts @@ -4,6 +4,9 @@ module.exports = function (api, options) { api.assertVersion(7); return { - presets: [[require.resolve('babel-preset-gatsby'), { useBuiltIns: true }]], + presets: [ + '@nrwl/web/babel', + [require.resolve('babel-preset-gatsby'), { useBuiltIns: true }], + ], }; }; diff --git a/packages/gatsby/src/generators/application/application.spec.ts b/packages/gatsby/src/generators/application/application.spec.ts index 2b8e52c23e..544de6557d 100644 --- a/packages/gatsby/src/generators/application/application.spec.ts +++ b/packages/gatsby/src/generators/application/application.spec.ts @@ -181,13 +181,7 @@ describe('app', () => { .read('apps/my-app/src/pages/index.tsx') .toString(); - const babelJestConfig = readJson( - tree, - 'apps/my-app/babel-jest.config.json' - ); - expect(indexContent).toMatch(/