@nx/react 0.0.0-pr-31222-862e973 → 0.0.0-pr-31313-387cdca
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/generators.json +9 -13
- package/index.d.ts +1 -2
- package/index.js +2 -5
- package/mf/dynamic-federation.d.ts +64 -0
- package/mf/dynamic-federation.js +64 -0
- package/migrations.json +80 -148
- package/module-federation.d.ts +6 -4
- package/module-federation.js +16 -7
- package/package.json +11 -11
- package/plugins/bundle-rollup.js +4 -1
- package/plugins/component-testing/index.js +1 -1
- package/plugins/jest.js +6 -11
- package/plugins/nx-react-webpack-plugin/lib/apply-react-config.js +6 -22
- package/plugins/storybook/index.js +1 -2
- package/plugins/with-react.d.ts +4 -0
- package/router-plugin.d.ts +1 -0
- package/router-plugin.js +5 -0
- package/src/executors/module-federation-dev-server/lib/index.d.ts +2 -0
- package/src/executors/module-federation-dev-server/lib/index.js +5 -0
- package/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +4 -0
- package/src/executors/module-federation-dev-server/lib/normalize-options.js +19 -0
- package/src/executors/module-federation-dev-server/lib/start-remotes.d.ts +5 -0
- package/src/executors/module-federation-dev-server/lib/start-remotes.js +33 -0
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +1 -1
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +6 -110
- package/src/executors/module-federation-dev-server/schema.d.ts +9 -7
- package/src/executors/module-federation-dev-server/schema.json +15 -10
- package/src/executors/module-federation-ssr-dev-server/lib/index.d.ts +2 -0
- package/src/executors/module-federation-ssr-dev-server/lib/index.js +5 -0
- package/src/executors/module-federation-ssr-dev-server/lib/normalize-options.d.ts +4 -0
- package/src/executors/module-federation-ssr-dev-server/lib/normalize-options.js +23 -0
- package/src/executors/module-federation-ssr-dev-server/lib/start-remotes.d.ts +5 -0
- package/src/executors/module-federation-ssr-dev-server/lib/start-remotes.js +34 -0
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +1 -17
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +5 -153
- package/src/executors/module-federation-ssr-dev-server/schema.d.ts +29 -0
- package/src/executors/module-federation-ssr-dev-server/schema.json +14 -9
- package/src/executors/module-federation-static-server/module-federation-static-server.impl.d.ts +2 -2
- package/src/executors/module-federation-static-server/module-federation-static-server.impl.js +11 -12
- package/src/executors/module-federation-static-server/schema.json +2 -1
- package/src/generators/application/application.d.ts +3 -3
- package/src/generators/application/application.js +108 -186
- package/src/generators/application/files/base-rsbuild/src/app/__fileName__.spec.tsx__tmpl__ +10 -0
- package/src/generators/application/files/base-rsbuild/src/assets/.gitkeep +0 -0
- package/src/generators/application/files/base-rsbuild/src/favicon.ico +0 -0
- package/src/generators/application/files/base-rsbuild/src/index.html +14 -0
- package/src/generators/application/files/base-rsbuild/src/main.tsx__tmpl__ +32 -0
- package/src/generators/application/files/base-rsbuild/tsconfig.app.json__tmpl__ +31 -0
- package/src/generators/application/files/base-rspack/rspack.config.js__tmpl__ +53 -0
- package/src/generators/application/files/base-rspack/src/app/__fileName__.spec.tsx__tmpl__ +3 -3
- package/src/generators/application/files/base-rspack/src/main.tsx__tmpl__ +27 -5
- package/src/generators/application/files/base-rspack/tsconfig.app.json__tmpl__ +21 -4
- package/src/generators/application/files/base-vite/src/app/__fileName__.spec.tsx__tmpl__ +3 -3
- package/src/generators/application/files/base-vite/src/main.tsx__tmpl__ +31 -6
- package/src/generators/application/files/base-vite/tsconfig.app.json__tmpl__ +20 -3
- package/src/generators/application/files/base-webpack/src/app/__fileName__.spec.tsx__tmpl__ +3 -3
- package/src/generators/application/files/base-webpack/src/main.tsx__tmpl__ +22 -2
- package/src/generators/application/files/base-webpack/tsconfig.app.json__tmpl__ +21 -4
- package/src/generators/application/files/base-webpack/webpack.config.js__tmpl__ +4 -4
- package/src/generators/application/files/react-router-ssr/common/app/app-nav.tsx__tmpl__ +14 -0
- package/src/generators/application/files/react-router-ssr/common/app/entry.client.tsx__tmpl__ +18 -0
- package/src/generators/application/files/react-router-ssr/common/app/entry.server.tsx__tmpl__ +74 -0
- package/src/generators/application/files/react-router-ssr/common/app/root.tsx__tmpl__ +51 -0
- package/src/generators/application/files/react-router-ssr/common/app/routes/about.tsx__tmpl__ +7 -0
- package/src/generators/application/files/react-router-ssr/common/app/routes.tsx__tmpl__ +6 -0
- package/src/generators/application/files/react-router-ssr/common/public/favicon.ico +0 -0
- package/src/generators/application/files/react-router-ssr/common/react-router.config.ts__tmpl__ +5 -0
- package/src/generators/application/files/react-router-ssr/common/tests/routes/_index.spec.tsx__tmpl__ +16 -0
- package/src/generators/application/files/react-router-ssr/common/tsconfig.app.json__tmpl__ +23 -0
- package/src/generators/application/files/react-router-ssr/common/tsconfig.json__tmpl__ +27 -0
- package/src/generators/application/files/react-router-ssr/non-root/.gitignore__tmpl__ +5 -0
- package/src/generators/application/files/react-router-ssr/non-root/package.json__tmpl__ +21 -0
- package/src/generators/application/files/react-router-ssr/nx-welcome/claimed/app/nx-welcome.tsx__tmpl__ +866 -0
- package/src/generators/application/files/react-router-ssr/nx-welcome/not-configured/app/nx-welcome.tsx__tmpl__ +866 -0
- package/src/generators/application/files/react-router-ssr/nx-welcome/unclaimed/app/nx-welcome.tsx__tmpl__ +864 -0
- package/src/generators/application/files/react-router-ssr/ts-solution/package.json__tmpl__ +21 -0
- package/src/generators/application/files/react-router-ssr/ts-solution/tsconfig.app.json__tmpl__ +39 -0
- package/src/generators/application/files/style-css-module/src/app/__fileName__.tsx__tmpl__ +28 -18
- package/src/generators/application/files/style-global-css/src/app/__fileName__.tsx__tmpl__ +29 -20
- package/src/generators/application/files/style-none/src/app/__fileName__.tsx__tmpl__ +26 -16
- package/src/generators/application/files/style-styled-jsx/src/app/__fileName__.tsx__tmpl__ +31 -22
- package/src/generators/application/files/style-styled-module/src/app/__fileName__.tsx__tmpl__ +30 -21
- package/src/generators/application/files/style-tailwind/src/app/__fileName__.tsx__tmpl__ +29 -19
- package/src/generators/application/lib/add-e2e.d.ts +1 -1
- package/src/generators/application/lib/add-e2e.js +74 -65
- package/src/generators/application/lib/add-jest.js +27 -2
- package/src/generators/application/lib/add-linting.d.ts +4 -0
- package/src/generators/application/lib/add-linting.js +86 -0
- package/src/generators/application/lib/add-project.js +112 -6
- package/src/generators/application/lib/add-routing.js +1 -1
- package/src/generators/application/lib/bundlers/add-rsbuild.d.ts +4 -0
- package/src/generators/application/lib/bundlers/add-rsbuild.js +63 -0
- package/src/generators/application/lib/bundlers/add-rspack.d.ts +4 -0
- package/src/generators/application/lib/bundlers/add-rspack.js +37 -0
- package/src/generators/application/lib/bundlers/add-vite.d.ts +4 -0
- package/src/generators/application/lib/bundlers/add-vite.js +76 -0
- package/src/generators/application/lib/bundlers/add-webpack.d.ts +3 -0
- package/src/generators/application/lib/bundlers/add-webpack.js +18 -0
- package/src/generators/application/lib/create-application-files.d.ts +61 -0
- package/src/generators/application/lib/create-application-files.js +102 -19
- package/src/generators/application/lib/get-app-tests.js +10 -11
- package/src/generators/application/lib/install-common-dependencies.d.ts +1 -1
- package/src/generators/application/lib/install-common-dependencies.js +18 -4
- package/src/generators/application/lib/normalize-options.d.ts +1 -3
- package/src/generators/application/lib/normalize-options.js +17 -19
- package/src/generators/application/lib/update-jest-config.js +5 -0
- package/src/generators/application/schema.d.ts +12 -6
- package/src/generators/application/schema.json +44 -42
- package/src/generators/component/component.d.ts +0 -1
- package/src/generators/component/component.js +19 -37
- package/src/generators/component/files/__fileName__.__ext__ +83 -0
- package/src/generators/component/lib/normalize-options.js +13 -15
- package/src/generators/component/schema.d.ts +13 -25
- package/src/generators/component/schema.json +13 -49
- package/src/generators/component-story/component-story.js +1 -2
- package/src/generators/component-story/files/jsx/__componentFileName__.stories.jsx__tmpl__ +5 -5
- package/src/generators/component-story/files/tsx/__componentFileName__.stories.tsx__tmpl__ +3 -4
- package/src/generators/component-test/component-test.js +1 -1
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js +0 -2
- package/src/generators/cypress-component-configuration/lib/add-files.d.ts +1 -1
- package/src/generators/cypress-component-configuration/lib/add-files.js +7 -4
- package/src/generators/federate-module/federate-module.js +12 -22
- package/src/generators/federate-module/schema.d.ts +0 -1
- package/src/generators/federate-module/schema.json +13 -12
- package/src/generators/hook/files/{__fileName__.ts__tmpl__ → __fileName__.__ext__} +3 -1
- package/src/generators/hook/hook.d.ts +0 -1
- package/src/generators/hook/hook.js +35 -83
- package/src/generators/hook/schema.d.ts +4 -17
- package/src/generators/hook/schema.json +19 -46
- package/src/generators/host/files/common/src/app/__fileName__.js__tmpl__ +28 -21
- package/src/generators/host/files/common/src/main.js__tmpl__ +12 -9
- package/src/generators/host/files/common-ts/src/app/__fileName__.tsx__tmpl__ +28 -28
- package/src/generators/host/files/common-ts/src/main.ts__tmpl__ +12 -9
- package/src/generators/host/files/rspack-common/src/app/__fileName__.jsx__tmpl__ +22 -13
- package/src/generators/host/files/rspack-common/src/main.jsx__tmpl__ +12 -9
- package/src/generators/host/files/rspack-module-federation/module-federation.config.js__tmpl__ +8 -5
- package/src/generators/host/files/rspack-module-federation/rspack.config.js__tmpl__ +37 -13
- package/src/generators/host/files/rspack-module-federation/rspack.config.prod.js__tmpl__ +60 -30
- package/src/generators/host/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +16 -5
- package/src/generators/host/files/rspack-module-federation-ssr/rspack.config.js__tmpl__ +66 -0
- package/src/generators/host/files/rspack-module-federation-ssr/server.ts__tmpl__ +1 -1
- package/src/generators/host/files/rspack-module-federation-ssr/src/main.server.tsx__tmpl__ +49 -0
- package/src/generators/host/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +16 -7
- package/src/generators/host/files/rspack-module-federation-ssr-ts/rspack.config.ts__tmpl__ +66 -0
- package/src/generators/host/files/rspack-module-federation-ssr-ts/server.ts__tmpl__ +1 -1
- package/src/generators/host/files/rspack-module-federation-ssr-ts/src/main.server.tsx__tmpl__ +49 -0
- package/src/generators/host/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +22 -19
- package/src/generators/host/files/rspack-module-federation-ts/rspack.config.prod.ts__tmpl__ +61 -30
- package/src/generators/host/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +37 -13
- package/src/generators/host/files/webpack-module-federation/module-federation.config.js__tmpl__ +8 -5
- package/src/generators/host/files/webpack-module-federation/webpack.config.js__tmpl__ +1 -1
- package/src/generators/host/files/webpack-module-federation/webpack.config.prod.js__tmpl__ +24 -22
- package/src/generators/host/files/webpack-module-federation-ssr/module-federation.server.config.js__tmpl__ +10 -7
- package/src/generators/host/files/webpack-module-federation-ssr/webpack.server.config.js__tmpl__ +2 -2
- package/src/generators/host/files/webpack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +10 -7
- package/src/generators/host/files/webpack-module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +2 -2
- package/src/generators/host/files/webpack-module-federation-ts/module-federation.config.ts__tmpl__ +22 -19
- package/src/generators/host/files/webpack-module-federation-ts/webpack.config.prod.ts__tmpl__ +25 -23
- package/src/generators/host/files/webpack-module-federation-ts/webpack.config.ts__tmpl__ +4 -3
- package/src/generators/host/host.d.ts +0 -1
- package/src/generators/host/host.js +31 -27
- package/src/generators/host/lib/add-module-federation-files.js +29 -13
- package/src/generators/host/lib/normalize-host-name.d.ts +2 -0
- package/src/generators/host/lib/normalize-host-name.js +12 -0
- package/src/generators/host/lib/normalize-remote.js +10 -6
- package/src/generators/host/lib/setup-ssr-for-host.d.ts +3 -3
- package/src/generators/host/lib/setup-ssr-for-host.js +46 -22
- package/src/generators/host/lib/update-module-federation-tsconfig.d.ts +3 -0
- package/src/generators/host/lib/update-module-federation-tsconfig.js +39 -0
- package/src/generators/host/schema.d.ts +2 -5
- package/src/generators/host/schema.json +16 -27
- package/src/generators/init/init.d.ts +1 -1
- package/src/generators/init/init.js +31 -6
- package/src/generators/init/schema.d.ts +2 -0
- package/src/generators/library/files/common/tsconfig.lib.json__tmpl__ +1 -1
- package/src/generators/library/files/vite/tsconfig.lib.json__tmpl__ +1 -1
- package/src/generators/library/lib/add-linting.js +1 -1
- package/src/generators/library/lib/add-rollup-build-target.d.ts +3 -1
- package/src/generators/library/lib/add-rollup-build-target.js +34 -32
- package/src/generators/library/lib/create-files.d.ts +1 -1
- package/src/generators/library/lib/create-files.js +23 -2
- package/src/generators/library/lib/determine-entry-fields.d.ts +3 -0
- package/src/generators/library/lib/determine-entry-fields.js +22 -0
- package/src/generators/library/lib/install-common-dependencies.d.ts +1 -1
- package/src/generators/library/lib/install-common-dependencies.js +5 -3
- package/src/generators/library/lib/normalize-options.js +11 -6
- package/src/generators/library/library.js +80 -35
- package/src/generators/library/schema.d.ts +5 -5
- package/src/generators/library/schema.json +38 -36
- package/src/generators/redux/files/js/__fileName__.__ext__ +114 -0
- package/src/generators/redux/files/{__fileName__.slice.spec.ts__tmpl__ → js/__fileName__.spec.__ext__} +1 -1
- package/src/generators/redux/files/ts/__fileName__.spec.__ext__ +56 -0
- package/src/generators/redux/redux.d.ts +0 -1
- package/src/generators/redux/redux.js +27 -36
- package/src/generators/redux/schema.d.ts +12 -8
- package/src/generators/redux/schema.json +21 -23
- package/src/generators/remote/files/rspack-module-federation/module-federation.config.js__tmpl__ +10 -7
- package/src/generators/remote/files/rspack-module-federation/rspack.config.js__tmpl__ +40 -13
- package/src/generators/remote/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +13 -4
- package/src/generators/remote/files/rspack-module-federation-ssr/rspack.config.js__tmpl__ +69 -0
- package/src/generators/remote/files/rspack-module-federation-ssr/server.ts__tmpl__ +2 -2
- package/src/generators/remote/files/rspack-module-federation-ssr/src/main.server.tsx__tmpl__ +45 -0
- package/src/generators/remote/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +13 -4
- package/src/generators/remote/files/rspack-module-federation-ssr-ts/rspack.config.ts__tmpl__ +69 -0
- package/src/generators/remote/files/rspack-module-federation-ssr-ts/server.ts__tmpl__ +2 -2
- package/src/generators/remote/files/rspack-module-federation-ssr-ts/src/main.server.tsx__tmpl__ +45 -0
- package/src/generators/remote/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +11 -8
- package/src/generators/remote/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +40 -13
- package/src/generators/remote/files/webpack-module-federation/module-federation.config.js__tmpl__ +10 -7
- package/src/generators/remote/files/webpack-module-federation/webpack.config.js__tmpl__ +1 -1
- package/src/generators/remote/files/webpack-module-federation-ssr/module-federation.server.config.js__tmpl__ +7 -4
- package/src/generators/remote/files/webpack-module-federation-ssr/webpack.server.config.js__tmpl__ +2 -2
- package/src/generators/remote/files/webpack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +8 -5
- package/src/generators/remote/files/webpack-module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +2 -2
- package/src/generators/remote/files/webpack-module-federation-ts/module-federation.config.ts__tmpl__ +11 -8
- package/src/generators/remote/files/webpack-module-federation-ts/webpack.config.ts__tmpl__ +2 -2
- package/src/generators/remote/lib/setup-ssr-for-remote.d.ts +1 -1
- package/src/generators/remote/lib/setup-ssr-for-remote.js +37 -15
- package/src/generators/remote/lib/setup-tspath-for-remote.js +1 -3
- package/src/generators/remote/lib/update-host-with-remote.js +2 -2
- package/src/generators/remote/remote.d.ts +0 -1
- package/src/generators/remote/remote.js +57 -33
- package/src/generators/remote/schema.d.ts +2 -5
- package/src/generators/remote/schema.json +16 -27
- package/src/generators/setup-tailwind/lib/update-project.js +1 -2
- package/src/generators/stories/schema.json +0 -10
- package/src/generators/stories/stories.d.ts +1 -3
- package/src/generators/stories/stories.js +9 -20
- package/src/generators/storybook-configuration/configuration.js +2 -11
- package/src/generators/storybook-configuration/schema.d.ts +0 -3
- package/src/generators/storybook-configuration/schema.json +0 -15
- package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.js +11 -6
- package/src/migrations/update-20-2-0/migrate-mf-imports-to-new-package.d.ts +2 -0
- package/src/migrations/update-20-2-0/migrate-mf-imports-to-new-package.js +66 -0
- package/src/migrations/update-20-2-0/migrate-with-mf-import-to-new-package.d.ts +2 -0
- package/src/migrations/update-20-2-0/migrate-with-mf-import-to-new-package.js +41 -0
- package/src/migrations/update-20-3-0/ensure-nx-module-federation-package.d.ts +2 -0
- package/src/migrations/update-20-3-0/ensure-nx-module-federation-package.js +18 -0
- package/src/migrations/update-21-0-0/update-babel-loose.d.ts +2 -0
- package/src/migrations/update-21-0-0/update-babel-loose.js +30 -0
- package/src/plugins/router-plugin.d.ts +10 -0
- package/src/plugins/router-plugin.js +221 -0
- package/src/rules/update-module-federation-project.d.ts +2 -1
- package/src/rules/update-module-federation-project.js +37 -48
- package/src/utils/add-mf-env-to-inputs.d.ts +1 -1
- package/src/utils/add-mf-env-to-inputs.js +8 -11
- package/src/utils/assertion.d.ts +2 -0
- package/src/utils/assertion.js +6 -0
- package/src/utils/ast-utils.d.ts +1 -1
- package/src/utils/ast-utils.js +2 -2
- package/src/utils/create-ts-config.js +57 -7
- package/src/utils/ct-utils.d.ts +1 -1
- package/src/utils/ct-utils.js +2 -7
- package/src/utils/has-rsbuild-plugin.d.ts +2 -0
- package/src/utils/has-rsbuild-plugin.js +10 -0
- package/src/utils/has-rspack-plugin.d.ts +2 -0
- package/src/utils/has-rspack-plugin.js +10 -0
- package/src/utils/testing-generators.js +2 -4
- package/src/utils/version-utils.d.ts +14 -0
- package/src/utils/version-utils.js +56 -0
- package/src/utils/versions.d.ts +25 -17
- package/src/utils/versions.js +28 -19
- package/src/generators/component/files/__fileName__.tsx__tmpl__ +0 -84
- package/src/generators/component-cypress-spec/component-cypress-spec.d.ts +0 -13
- package/src/generators/component-cypress-spec/component-cypress-spec.js +0 -104
- package/src/generators/component-cypress-spec/files/__componentName__.__fileExt__ +0 -13
- package/src/generators/component-cypress-spec/schema.json +0 -45
- package/src/generators/host/files/rspack-module-federation-ssr/rspack.server.config.js__tmpl__ +0 -16
- package/src/generators/host/files/rspack-module-federation-ssr-ts/rspack.server.config.ts__tmpl__ +0 -16
- package/src/generators/library/files/common/package.json__tmpl__ +0 -4
- package/src/generators/library/files/vite/package.json__tmpl__ +0 -12
- package/src/generators/remote/files/rspack-module-federation-ssr/rspack.server.config.js__tmpl__ +0 -16
- package/src/generators/remote/files/rspack-module-federation-ssr-ts/rspack.server.config.ts__tmpl__ +0 -16
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +0 -2
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +0 -9
- package/src/migrations/update-16-2-0-remove-package/update-16-2-0-remove-package.d.ts +0 -2
- package/src/migrations/update-16-2-0-remove-package/update-16-2-0-remove-package.js +0 -8
- package/src/migrations/update-16-3-0/remove-types-react-router-dom-package.d.ts +0 -2
- package/src/migrations/update-16-3-0/remove-types-react-router-dom-package.js +0 -8
- package/src/migrations/update-16-7-0/add-babel-core.d.ts +0 -2
- package/src/migrations/update-16-7-0/add-babel-core.js +0 -14
- package/src/migrations/update-16-7-0-add-typings/update-16-7-0-add-typings.d.ts +0 -2
- package/src/migrations/update-16-7-0-add-typings/update-16-7-0-add-typings.js +0 -57
- package/src/migrations/update-18-1-1/fix-target-defaults-inputs.d.ts +0 -2
- package/src/migrations/update-18-1-1/fix-target-defaults-inputs.js +0 -53
- package/src/module-federation/load-config.d.ts +0 -3
- package/src/module-federation/load-config.js +0 -15
- package/src/module-federation/models.d.ts +0 -24
- package/src/module-federation/models.js +0 -2
- package/src/module-federation/package-json.d.ts +0 -8
- package/src/module-federation/package-json.js +0 -12
- package/src/module-federation/utils.d.ts +0 -12
- package/src/module-federation/utils.js +0 -75
- package/src/module-federation/with-module-federation-ssr.d.ts +0 -2
- package/src/module-federation/with-module-federation-ssr.js +0 -50
- package/src/module-federation/with-module-federation.d.ts +0 -7
- package/src/module-federation/with-module-federation.js +0 -63
- package/src/utils/build-static.remotes.d.ts +0 -4
- package/src/utils/build-static.remotes.js +0 -65
- package/src/utils/format-file.d.ts +0 -1
- package/src/utils/format-file.js +0 -11
- /package/src/generators/component/files/{__fileName__.spec.tsx__tmpl__ → __fileName__.spec.__ext__} +0 -0
- /package/src/generators/hook/files/{__fileName__.spec.tsx__tmpl__ → __fileName__.spec.__specExt__} +0 -0
- /package/src/generators/redux/files/{__fileName__.slice.ts__tmpl__ → ts/__fileName__.__ext__} +0 -0
|
@@ -1,10 +1,35 @@
|
|
|
1
|
-
<% if (strict) { %>
|
|
1
|
+
<%_ if (strict) { _%>
|
|
2
|
+
import { StrictMode } from 'react';
|
|
3
|
+
<%_ } _%>
|
|
4
|
+
<%_ if (routing) { _%>
|
|
5
|
+
import { BrowserRouter } from 'react-router-dom';
|
|
6
|
+
<%_ } _%>
|
|
2
7
|
import * as ReactDOM from 'react-dom/client';
|
|
3
|
-
<% if (routing) { %>import { BrowserRouter } from 'react-router-dom';<% } %>
|
|
4
|
-
|
|
5
8
|
import App from './app/<%= fileName %>';
|
|
6
9
|
|
|
7
|
-
const root = ReactDOM.createRoot(
|
|
8
|
-
|
|
9
|
-
<% if (strict) { %><StrictMode><% } %><% if (routing) { %><BrowserRouter><% } %><App /><% if (routing) { %></BrowserRouter><% } %><% if (strict) { %></StrictMode><% } %>
|
|
10
|
+
const root = ReactDOM.createRoot(
|
|
11
|
+
document.getElementById('root') as HTMLElement
|
|
10
12
|
);
|
|
13
|
+
|
|
14
|
+
root.render(
|
|
15
|
+
<%_ if(strict && !routing) { _%>
|
|
16
|
+
<StrictMode>
|
|
17
|
+
<App/>
|
|
18
|
+
</StrictMode>
|
|
19
|
+
<%_ } _%>
|
|
20
|
+
<%_ if(!strict && routing) { _%>
|
|
21
|
+
<BrowserRouter>
|
|
22
|
+
<App/>
|
|
23
|
+
</BrowserRouter>
|
|
24
|
+
<%_ } _%>
|
|
25
|
+
<%_ if(strict && routing) { _%>
|
|
26
|
+
<StrictMode>
|
|
27
|
+
<BrowserRouter>
|
|
28
|
+
<App/>
|
|
29
|
+
</BrowserRouter>
|
|
30
|
+
</StrictMode>
|
|
31
|
+
<%_ } _%>
|
|
32
|
+
<%_ if(!strict && !routing) { _%>
|
|
33
|
+
<App/>
|
|
34
|
+
<%_ } _%>
|
|
35
|
+
);
|
|
@@ -1,14 +1,31 @@
|
|
|
1
|
-
{
|
|
1
|
+
<%_ if (isUsingTsSolutionSetup) { _%>{
|
|
2
|
+
"extends": "<%= offsetFromRoot%>tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"outDir": "dist",
|
|
5
|
+
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
|
6
|
+
"jsx": "react-jsx",
|
|
7
|
+
"lib": ["dom"],
|
|
8
|
+
"types": [
|
|
9
|
+
"node",
|
|
10
|
+
<%_ if (style === 'styled-jsx') { _%>"@nx/react/typings/styled-jsx.d.ts",<%_ } _%>
|
|
11
|
+
"@nx/react/typings/cssmodule.d.ts",
|
|
12
|
+
"@nx/react/typings/image.d.ts"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "src/**/*.spec.tsx", "src/**/*.test.tsx", "src/**/*.spec.js", "src/**/*.test.js", "src/**/*.spec.jsx", "src/**/*.test.jsx"],
|
|
16
|
+
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"]
|
|
17
|
+
}<% } else { %>{
|
|
2
18
|
"extends": "./tsconfig.json",
|
|
3
19
|
"compilerOptions": {
|
|
4
20
|
"outDir": "<%= offsetFromRoot %>dist/out-tsc",
|
|
5
21
|
"types": [
|
|
6
22
|
"node",
|
|
7
|
-
<% if (style === 'styled-jsx') { %>"@nx/react/typings/styled-jsx.d.ts",<% } %>
|
|
23
|
+
<%_ if (style === 'styled-jsx') { _%>"@nx/react/typings/styled-jsx.d.ts",<%_ } _%>
|
|
8
24
|
"@nx/react/typings/cssmodule.d.ts",
|
|
9
25
|
"@nx/react/typings/image.d.ts"
|
|
10
|
-
|
|
26
|
+
]
|
|
11
27
|
},
|
|
12
28
|
"exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "src/**/*.spec.tsx", "src/**/*.test.tsx", "src/**/*.spec.js", "src/**/*.test.js", "src/**/*.spec.jsx", "src/**/*.test.jsx"],
|
|
13
29
|
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"]
|
|
14
30
|
}
|
|
31
|
+
<% } %>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { render } from '@testing-library/react';
|
|
2
|
-
<% if (routing) { %>
|
|
2
|
+
<%_ if (routing) { _%>
|
|
3
3
|
import { BrowserRouter } from 'react-router-dom';
|
|
4
|
-
<% } %>
|
|
4
|
+
<%_ } _%>
|
|
5
5
|
|
|
6
6
|
import App from './<%= fileName %>';
|
|
7
7
|
|
|
8
8
|
describe('App', () => {
|
|
9
|
-
<%- appTests %>
|
|
9
|
+
<%- appTests _%>
|
|
10
10
|
});
|
|
@@ -5,6 +5,26 @@ import * as ReactDOM from 'react-dom/client';
|
|
|
5
5
|
import App from './app/<%= fileName %>';
|
|
6
6
|
|
|
7
7
|
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);
|
|
8
|
+
<%_ if(strict && !routing) { _%>
|
|
8
9
|
root.render(
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
<StrictMode>
|
|
11
|
+
<App/>
|
|
12
|
+
</StrictMode>
|
|
13
|
+
)
|
|
14
|
+
<%_ } _%>
|
|
15
|
+
<%_ if(!strict && routing) { _%>
|
|
16
|
+
root.render(
|
|
17
|
+
<BrowserRouter>
|
|
18
|
+
<App/>
|
|
19
|
+
</BrowserRouter>
|
|
20
|
+
)
|
|
21
|
+
<%_ } _%>
|
|
22
|
+
<%_ if(strict && routing) { _%>
|
|
23
|
+
root.render(
|
|
24
|
+
<StrictMode>
|
|
25
|
+
<BrowserRouter>
|
|
26
|
+
<App/>
|
|
27
|
+
</BrowserRouter>
|
|
28
|
+
</StrictMode>
|
|
29
|
+
)
|
|
30
|
+
<%_ } _%>
|
|
@@ -1,14 +1,31 @@
|
|
|
1
|
-
{
|
|
1
|
+
<%_ if (isUsingTsSolutionSetup) { _%>{
|
|
2
|
+
"extends": "<%= offsetFromRoot%>tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"outDir": "dist",
|
|
5
|
+
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
|
6
|
+
"jsx": "react-jsx",
|
|
7
|
+
"lib": ["dom"],
|
|
8
|
+
"types": [
|
|
9
|
+
"node",
|
|
10
|
+
<%_ if (style === 'styled-jsx') { _%>"@nx/react/typings/styled-jsx.d.ts",<%_ } _%>
|
|
11
|
+
"@nx/react/typings/cssmodule.d.ts",
|
|
12
|
+
"@nx/react/typings/image.d.ts"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "src/**/*.spec.tsx", "src/**/*.test.tsx", "src/**/*.spec.js", "src/**/*.test.js", "src/**/*.spec.jsx", "src/**/*.test.jsx"],
|
|
16
|
+
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"]
|
|
17
|
+
}<% } else { %>{
|
|
2
18
|
"extends": "./tsconfig.json",
|
|
3
19
|
"compilerOptions": {
|
|
4
20
|
"outDir": "<%= offsetFromRoot %>dist/out-tsc",
|
|
5
21
|
"types": [
|
|
6
22
|
"node",
|
|
7
|
-
<% if (style === 'styled-jsx') { %>"@nx/react/typings/styled-jsx.d.ts",<% } %>
|
|
23
|
+
<%_ if (style === 'styled-jsx') { _%>"@nx/react/typings/styled-jsx.d.ts",<%_ } _%>
|
|
8
24
|
"@nx/react/typings/cssmodule.d.ts",
|
|
9
25
|
"@nx/react/typings/image.d.ts"
|
|
10
|
-
|
|
26
|
+
]
|
|
11
27
|
},
|
|
12
|
-
"exclude": ["
|
|
28
|
+
"exclude": ["src/**/*.spec.ts", "src/**/*.test.ts", "src/**/*.spec.tsx", "src/**/*.test.tsx", "src/**/*.spec.js", "src/**/*.test.js", "src/**/*.spec.jsx", "src/**/*.test.jsx"],
|
|
13
29
|
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"]
|
|
14
30
|
}
|
|
31
|
+
<% } %>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
<% if (webpackPluginOptions) { %>
|
|
1
|
+
<%_ if (webpackPluginOptions) { _%>
|
|
2
2
|
const { NxAppWebpackPlugin } = require('@nx/webpack/app-plugin');
|
|
3
3
|
const { NxReactWebpackPlugin } = require('@nx/react/webpack-plugin');
|
|
4
4
|
const { join } = require('path');
|
|
5
5
|
|
|
6
6
|
module.exports = {
|
|
7
7
|
output: {
|
|
8
|
-
path: join(__dirname, '<%=
|
|
8
|
+
path: join(__dirname, '<%= webpackPluginOptions.outputPath %>'),
|
|
9
9
|
},
|
|
10
10
|
devServer: {
|
|
11
11
|
port: 4200,
|
|
@@ -34,7 +34,7 @@ module.exports = {
|
|
|
34
34
|
}),
|
|
35
35
|
],
|
|
36
36
|
};
|
|
37
|
-
<% } else { %>
|
|
37
|
+
<%_ } else { _%>
|
|
38
38
|
const { composePlugins, withNx } = require('@nx/webpack');
|
|
39
39
|
const { withReact } = require('@nx/react');
|
|
40
40
|
|
|
@@ -52,4 +52,4 @@ module.exports = composePlugins(
|
|
|
52
52
|
return config;
|
|
53
53
|
}
|
|
54
54
|
);
|
|
55
|
-
<% } %>
|
|
55
|
+
<%_ } _%>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* By default, React Router will handle hydrating your app on the client for you.
|
|
3
|
+
* You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run `npx react-router reveal` ✨
|
|
4
|
+
* For more information, see https://reactrouter.com/explanation/special-files#entryclienttsx
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { HydratedRouter } from 'react-router/dom';
|
|
8
|
+
import { startTransition, StrictMode } from "react";
|
|
9
|
+
import { hydrateRoot } from "react-dom/client";
|
|
10
|
+
|
|
11
|
+
startTransition(() => {
|
|
12
|
+
hydrateRoot(
|
|
13
|
+
document,
|
|
14
|
+
<StrictMode>
|
|
15
|
+
<HydratedRouter />
|
|
16
|
+
</StrictMode>
|
|
17
|
+
);
|
|
18
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* By default, React Router will handle generating the HTTP Response for you.
|
|
3
|
+
* You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run `npx remix reveal` ✨
|
|
4
|
+
* For more information, see https://reactrouter.com/explanation/special-files#entryservertsx
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { PassThrough } from "node:stream";
|
|
8
|
+
|
|
9
|
+
import type { AppLoadContext, EntryContext } from "react-router";
|
|
10
|
+
import { createReadableStreamFromReadable } from "@react-router/node";
|
|
11
|
+
import { ServerRouter } from "react-router";
|
|
12
|
+
import { isbot } from "isbot";
|
|
13
|
+
import type { RenderToPipeableStreamOptions } from "react-dom/server";
|
|
14
|
+
import { renderToPipeableStream } from "react-dom/server";
|
|
15
|
+
|
|
16
|
+
export const streamTimeout = 5_000;
|
|
17
|
+
|
|
18
|
+
export default function handleRequest(
|
|
19
|
+
request: Request,
|
|
20
|
+
responseStatusCode: number,
|
|
21
|
+
responseHeaders: Headers,
|
|
22
|
+
routerContext: EntryContext,
|
|
23
|
+
loadContext: AppLoadContext
|
|
24
|
+
) {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
let shellRendered = false;
|
|
27
|
+
const userAgent = request.headers.get("user-agent");
|
|
28
|
+
|
|
29
|
+
// Ensure requests from bots and SPA Mode renders wait for all content to load before responding
|
|
30
|
+
// https://react.dev/reference/react-dom/server/renderToPipeableStream#waiting-for-all-content-to-load-for-crawlers-and-static-generation
|
|
31
|
+
const readyOption: keyof RenderToPipeableStreamOptions =
|
|
32
|
+
(userAgent && isbot(userAgent)) || routerContext.isSpaMode
|
|
33
|
+
? "onAllReady"
|
|
34
|
+
: "onShellReady";
|
|
35
|
+
|
|
36
|
+
const { pipe, abort } = renderToPipeableStream(
|
|
37
|
+
<ServerRouter context={routerContext} url={request.url} />,
|
|
38
|
+
{
|
|
39
|
+
[readyOption]() {
|
|
40
|
+
shellRendered = true;
|
|
41
|
+
const body = new PassThrough();
|
|
42
|
+
const stream = createReadableStreamFromReadable(body);
|
|
43
|
+
|
|
44
|
+
responseHeaders.set("Content-Type", "text/html");
|
|
45
|
+
|
|
46
|
+
resolve(
|
|
47
|
+
new Response(stream, {
|
|
48
|
+
headers: responseHeaders,
|
|
49
|
+
status: responseStatusCode,
|
|
50
|
+
})
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
pipe(body);
|
|
54
|
+
},
|
|
55
|
+
onShellError(error: unknown) {
|
|
56
|
+
reject(error);
|
|
57
|
+
},
|
|
58
|
+
onError(error: unknown) {
|
|
59
|
+
responseStatusCode = 500;
|
|
60
|
+
// Log streaming rendering errors from inside the shell. Don't log
|
|
61
|
+
// errors encountered during initial shell rendering since they'll
|
|
62
|
+
// reject and get logged in handleDocumentRequest.
|
|
63
|
+
if (shellRendered) {
|
|
64
|
+
console.error(error);
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
// Abort the rendering stream after the `streamTimeout` so it has time to
|
|
71
|
+
// flush down the rejected boundaries
|
|
72
|
+
setTimeout(abort, streamTimeout + 1000);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Links,
|
|
3
|
+
Meta,
|
|
4
|
+
Outlet,
|
|
5
|
+
Scripts,
|
|
6
|
+
ScrollRestoration,
|
|
7
|
+
type MetaFunction,
|
|
8
|
+
type LinksFunction
|
|
9
|
+
} from "react-router";
|
|
10
|
+
|
|
11
|
+
import { AppNav } from './app-nav'
|
|
12
|
+
|
|
13
|
+
export const meta: MetaFunction = () => ([{
|
|
14
|
+
title: "New Nx React Router App",
|
|
15
|
+
}]);
|
|
16
|
+
|
|
17
|
+
export const links: LinksFunction = () => [
|
|
18
|
+
{ rel: "preconnect", href: "https://fonts.googleapis.com" },
|
|
19
|
+
{
|
|
20
|
+
rel: "preconnect",
|
|
21
|
+
href: "https://fonts.gstatic.com",
|
|
22
|
+
crossOrigin: "anonymous",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
rel: "stylesheet",
|
|
26
|
+
href: "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap",
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
export function Layout({ children }: { children: React.ReactNode }) {
|
|
31
|
+
return (
|
|
32
|
+
<html lang="en">
|
|
33
|
+
<head>
|
|
34
|
+
<meta charSet="utf-8" />
|
|
35
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
36
|
+
<Meta />
|
|
37
|
+
<Links />
|
|
38
|
+
</head>
|
|
39
|
+
<body>
|
|
40
|
+
<AppNav />
|
|
41
|
+
{children}
|
|
42
|
+
<ScrollRestoration />
|
|
43
|
+
<Scripts />
|
|
44
|
+
</body>
|
|
45
|
+
</html>
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default function App() {
|
|
50
|
+
return <Outlet />;
|
|
51
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createRoutesStub } from 'react-router';
|
|
2
|
+
import { render, screen, waitFor } from '@testing-library/react';
|
|
3
|
+
import App from '../../app/app';
|
|
4
|
+
|
|
5
|
+
test('renders loader data', async () => {
|
|
6
|
+
const ReactRouterStub = createRoutesStub([
|
|
7
|
+
{
|
|
8
|
+
path: '/',
|
|
9
|
+
Component: App,
|
|
10
|
+
},
|
|
11
|
+
]);
|
|
12
|
+
|
|
13
|
+
render(<ReactRouterStub />);
|
|
14
|
+
|
|
15
|
+
await waitFor(() => screen.findByText('Hello there,'));
|
|
16
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
|
+
"include": [
|
|
4
|
+
"app/**/*.ts",
|
|
5
|
+
"app/**/*.tsx",
|
|
6
|
+
"app/**/*.js",
|
|
7
|
+
"app/**/*.jsx",
|
|
8
|
+
"**/.server/**/*.ts",
|
|
9
|
+
"**/.server/**/*.tsx",
|
|
10
|
+
"**/.client/**/*.ts",
|
|
11
|
+
"**/.client/**/*.tsx"
|
|
12
|
+
],
|
|
13
|
+
"exclude": [
|
|
14
|
+
"tests/**/*.spec.ts",
|
|
15
|
+
"tests/**/*.test.ts",
|
|
16
|
+
"tests/**/*.spec.tsx",
|
|
17
|
+
"tests/**/*.test.tsx",
|
|
18
|
+
"tests/**/*.spec.js",
|
|
19
|
+
"tests/**/*.test.js",
|
|
20
|
+
"tests/**/*.spec.jsx",
|
|
21
|
+
"tests/**/*.test.jsx"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "<%= offsetFromRoot %>tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"lib": ["DOM", "DOM.Iterable", "ES2019"],
|
|
5
|
+
"types": ["@react-router/node", "vite/client"],
|
|
6
|
+
"isolatedModules": true,
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"jsx": "react-jsx",
|
|
9
|
+
"module": "ESNext",
|
|
10
|
+
"moduleResolution": "Bundler",
|
|
11
|
+
"resolveJsonModule": true,
|
|
12
|
+
"target": "ES2022",
|
|
13
|
+
"strict": true,
|
|
14
|
+
"allowJs": true,
|
|
15
|
+
"skipLibCheck": true,
|
|
16
|
+
"forceConsistentCasingInFileNames": true,
|
|
17
|
+
// Vite takes care of building everything.
|
|
18
|
+
"noEmit": true
|
|
19
|
+
},
|
|
20
|
+
"include": [],
|
|
21
|
+
"files": [],
|
|
22
|
+
"references": [
|
|
23
|
+
{
|
|
24
|
+
"path": "./tsconfig.app.json"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "<%= projectName %>",
|
|
3
|
+
"private": true,
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {},
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"@react-router/node": "<%= reactRouterVersion %>",
|
|
8
|
+
"@react-router/serve": "<%= reactRouterVersion %>",
|
|
9
|
+
"isbot": "<%= reactRouterIsBotVersion %>",
|
|
10
|
+
"react": "<%= reactVersion %>",
|
|
11
|
+
"react-dom": "<%= reactVersion %>",
|
|
12
|
+
"react-router": "<%= reactRouterVersion %>"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@react-router/dev": "<%= reactRouterVersion %>",
|
|
16
|
+
"@types/node": "<%= typesNodeVersion %>",
|
|
17
|
+
"@types/react": "<%= reactVersion %>",
|
|
18
|
+
"@types/react-dom": "<%= reactVersion %>"
|
|
19
|
+
},
|
|
20
|
+
"sideEffects": false
|
|
21
|
+
}
|