@nx/react 0.0.0-pr-22179-271588f
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 +22 -0
- package/README.md +68 -0
- package/ast-utils.d.ts +1 -0
- package/ast-utils.js +11 -0
- package/babel.d.ts +20 -0
- package/babel.js +50 -0
- package/executors.json +14 -0
- package/generators.json +112 -0
- package/index.d.ts +22 -0
- package/index.js +47 -0
- package/mf/dynamic-federation.d.ts +4 -0
- package/mf/dynamic-federation.js +75 -0
- package/mf/index.d.ts +1 -0
- package/mf/index.js +7 -0
- package/migrations.json +310 -0
- package/module-federation.d.ts +4 -0
- package/module-federation.js +12 -0
- package/package.json +49 -0
- package/plugins/bundle-rollup.d.ts +1 -0
- package/plugins/bundle-rollup.js +47 -0
- package/plugins/component-testing/index.d.ts +37 -0
- package/plugins/component-testing/index.js +222 -0
- package/plugins/component-testing/webpack-fallback.d.ts +5 -0
- package/plugins/component-testing/webpack-fallback.js +125 -0
- package/plugins/jest.d.ts +1 -0
- package/plugins/jest.js +59 -0
- package/plugins/nx-react-webpack-plugin/lib/apply-react-config.d.ts +4 -0
- package/plugins/nx-react-webpack-plugin/lib/apply-react-config.js +60 -0
- package/plugins/nx-react-webpack-plugin/nx-react-webpack-plugin.d.ts +8 -0
- package/plugins/nx-react-webpack-plugin/nx-react-webpack-plugin.js +13 -0
- package/plugins/storybook/index.d.ts +3 -0
- package/plugins/storybook/index.js +174 -0
- package/plugins/storybook/merge-plugins.d.ts +3 -0
- package/plugins/storybook/merge-plugins.js +17 -0
- package/plugins/webpack.d.ts +1 -0
- package/plugins/webpack.js +6 -0
- package/plugins/with-react.d.ts +10 -0
- package/plugins/with-react.js +22 -0
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +25 -0
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +211 -0
- package/src/executors/module-federation-dev-server/schema.json +114 -0
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +9 -0
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +106 -0
- package/src/executors/module-federation-ssr-dev-server/schema.json +48 -0
- package/src/generators/application/application.d.ts +5 -0
- package/src/generators/application/application.js +232 -0
- package/src/generators/application/files/base-rspack/src/app/__fileName__.spec.tsx__tmpl__ +10 -0
- package/src/generators/application/files/base-rspack/src/assets/.gitkeep +0 -0
- package/src/generators/application/files/base-rspack/src/favicon.ico +0 -0
- package/src/generators/application/files/base-rspack/src/index.html +14 -0
- package/src/generators/application/files/base-rspack/src/main.tsx__tmpl__ +10 -0
- package/src/generators/application/files/base-rspack/tsconfig.app.json__tmpl__ +14 -0
- package/src/generators/application/files/base-vite/index.html__tmpl__ +16 -0
- package/src/generators/application/files/base-vite/public/favicon.ico +0 -0
- package/src/generators/application/files/base-vite/src/app/__fileName__.spec.tsx__tmpl__ +10 -0
- package/src/generators/application/files/base-vite/src/assets/.gitkeep +0 -0
- package/src/generators/application/files/base-vite/src/environments/environment.prod.ts__tmpl__ +3 -0
- package/src/generators/application/files/base-vite/src/environments/environment.ts__tmpl__ +6 -0
- package/src/generators/application/files/base-vite/src/main.tsx__tmpl__ +10 -0
- package/src/generators/application/files/base-vite/tsconfig.app.json__tmpl__ +14 -0
- package/src/generators/application/files/base-webpack/src/app/__fileName__.spec.tsx__tmpl__ +10 -0
- package/src/generators/application/files/base-webpack/src/assets/.gitkeep +0 -0
- package/src/generators/application/files/base-webpack/src/favicon.ico +0 -0
- package/src/generators/application/files/base-webpack/src/index.html +12 -0
- package/src/generators/application/files/base-webpack/src/main.tsx__tmpl__ +10 -0
- package/src/generators/application/files/base-webpack/tsconfig.app.json__tmpl__ +14 -0
- package/src/generators/application/files/base-webpack/webpack.config.js__tmpl__ +50 -0
- package/src/generators/application/files/nx-welcome/src/app/nx-welcome.tsx +886 -0
- package/src/generators/application/files/style-css-module/src/app/__fileName__.module.__style__ +1 -0
- package/src/generators/application/files/style-css-module/src/app/__fileName__.tsx__tmpl__ +36 -0
- package/src/generators/application/files/style-css-module/src/styles.__style__ +1 -0
- package/src/generators/application/files/style-global-css/src/app/__fileName__.__style__ +1 -0
- package/src/generators/application/files/style-global-css/src/app/__fileName__.tsx__tmpl__ +35 -0
- package/src/generators/application/files/style-global-css/src/styles.__style__ +1 -0
- package/src/generators/application/files/style-none/src/app/__fileName__.tsx__tmpl__ +34 -0
- package/src/generators/application/files/style-styled-jsx/src/app/__fileName__.tsx__tmpl__ +37 -0
- package/src/generators/application/files/style-styled-module/src/app/__fileName__.tsx__tmpl__ +40 -0
- package/src/generators/application/files/style-tailwind/src/app/__fileName__.tsx__tmpl__ +33 -0
- package/src/generators/application/files/style-tailwind/src/styles.css +1 -0
- package/src/generators/application/lib/add-e2e.d.ts +3 -0
- package/src/generators/application/lib/add-e2e.js +79 -0
- package/src/generators/application/lib/add-jest.d.ts +3 -0
- package/src/generators/application/lib/add-jest.js +21 -0
- package/src/generators/application/lib/add-project.d.ts +3 -0
- package/src/generators/application/lib/add-project.js +96 -0
- package/src/generators/application/lib/add-routing.d.ts +3 -0
- package/src/generators/application/lib/add-routing.js +27 -0
- package/src/generators/application/lib/create-application-files.d.ts +3 -0
- package/src/generators/application/lib/create-application-files.js +143 -0
- package/src/generators/application/lib/find-free-port.d.ts +2 -0
- package/src/generators/application/lib/find-free-port.js +16 -0
- package/src/generators/application/lib/get-app-tests.d.ts +2 -0
- package/src/generators/application/lib/get-app-tests.js +21 -0
- package/src/generators/application/lib/install-common-dependencies.d.ts +3 -0
- package/src/generators/application/lib/install-common-dependencies.js +47 -0
- package/src/generators/application/lib/normalize-options.d.ts +5 -0
- package/src/generators/application/lib/normalize-options.js +72 -0
- package/src/generators/application/lib/set-defaults.d.ts +3 -0
- package/src/generators/application/lib/set-defaults.js +43 -0
- package/src/generators/application/lib/show-possible-warnings.d.ts +3 -0
- package/src/generators/application/lib/show-possible-warnings.js +11 -0
- package/src/generators/application/lib/update-jest-config.d.ts +3 -0
- package/src/generators/application/lib/update-jest-config.js +30 -0
- package/src/generators/application/schema.d.ts +45 -0
- package/src/generators/application/schema.json +201 -0
- package/src/generators/component/component.d.ts +5 -0
- package/src/generators/component/component.js +93 -0
- package/src/generators/component/files/__fileName__.__style__ +0 -0
- package/src/generators/component/files/__fileName__.module.__style__ +7 -0
- package/src/generators/component/files/__fileName__.spec.tsx__tmpl__ +7 -0
- package/src/generators/component/files/__fileName__.tsx__tmpl__ +88 -0
- package/src/generators/component/lib/get-component-tests.d.ts +2 -0
- package/src/generators/component/lib/get-component-tests.js +12 -0
- package/src/generators/component/lib/normalize-options.d.ts +3 -0
- package/src/generators/component/lib/normalize-options.js +50 -0
- package/src/generators/component/schema.d.ts +48 -0
- package/src/generators/component/schema.json +150 -0
- package/src/generators/component-cypress-spec/component-cypress-spec.d.ts +13 -0
- package/src/generators/component-cypress-spec/component-cypress-spec.js +100 -0
- package/src/generators/component-cypress-spec/files/__componentName__.__fileExt__ +13 -0
- package/src/generators/component-cypress-spec/schema.json +44 -0
- package/src/generators/component-story/component-story.d.ts +12 -0
- package/src/generators/component-story/component-story.js +72 -0
- package/src/generators/component-story/files/jsx/__componentFileName__.stories.jsx__tmpl__ +29 -0
- package/src/generators/component-story/files/tsx/__componentFileName__.stories.tsx__tmpl__ +36 -0
- package/src/generators/component-story/schema.json +42 -0
- package/src/generators/component-test/component-test.d.ts +4 -0
- package/src/generators/component-test/component-test.js +76 -0
- package/src/generators/component-test/files/__fileName__.cy__ext__ +21 -0
- package/src/generators/component-test/schema.d.ts +4 -0
- package/src/generators/component-test/schema.js +2 -0
- package/src/generators/component-test/schema.json +31 -0
- package/src/generators/cypress-component-configuration/cypress-component-configuration.d.ts +10 -0
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js +51 -0
- package/src/generators/cypress-component-configuration/lib/add-files.d.ts +4 -0
- package/src/generators/cypress-component-configuration/lib/add-files.js +45 -0
- package/src/generators/cypress-component-configuration/schema.d.ts +8 -0
- package/src/generators/cypress-component-configuration/schema.json +54 -0
- package/src/generators/federate-module/federate-module.d.ts +4 -0
- package/src/generators/federate-module/federate-module.js +70 -0
- package/src/generators/federate-module/lib/utils.d.ts +23 -0
- package/src/generators/federate-module/lib/utils.js +100 -0
- package/src/generators/federate-module/schema.d.ts +13 -0
- package/src/generators/federate-module/schema.json +83 -0
- package/src/generators/hook/files/__fileName__.spec.tsx__tmpl__ +18 -0
- package/src/generators/hook/files/__fileName__.ts__tmpl__ +15 -0
- package/src/generators/hook/hook.d.ts +5 -0
- package/src/generators/hook/hook.js +131 -0
- package/src/generators/hook/schema.d.ts +24 -0
- package/src/generators/hook/schema.json +84 -0
- package/src/generators/host/files/common/src/app/__fileName__.js__tmpl__ +33 -0
- package/src/generators/host/files/common/src/main.js__tmpl__ +10 -0
- package/src/generators/host/files/common/tsconfig.lint.json__tmpl__ +19 -0
- package/src/generators/host/files/common-ts/src/app/__fileName__.tsx__tmpl__ +41 -0
- package/src/generators/host/files/common-ts/src/main.ts__tmpl__ +10 -0
- package/src/generators/host/files/module-federation/module-federation.config.js__tmpl__ +21 -0
- package/src/generators/host/files/module-federation/webpack.config.js__tmpl__ +12 -0
- package/src/generators/host/files/module-federation/webpack.config.prod.js__tmpl__ +32 -0
- package/src/generators/host/files/module-federation-ssr/module-federation.server.config.js__tmpl__ +16 -0
- package/src/generators/host/files/module-federation-ssr/server.ts__tmpl__ +28 -0
- package/src/generators/host/files/module-federation-ssr/tsconfig.server.json__tmpl__ +17 -0
- package/src/generators/host/files/module-federation-ssr/webpack.server.config.js__tmpl__ +12 -0
- package/src/generators/host/files/module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +13 -0
- package/src/generators/host/files/module-federation-ssr-ts/server.ts__tmpl__ +28 -0
- package/src/generators/host/files/module-federation-ssr-ts/tsconfig.server.json__tmpl__ +17 -0
- package/src/generators/host/files/module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +12 -0
- package/src/generators/host/files/module-federation-ts/module-federation.config.ts__tmpl__ +25 -0
- package/src/generators/host/files/module-federation-ts/webpack.config.prod.ts__tmpl__ +33 -0
- package/src/generators/host/files/module-federation-ts/webpack.config.ts__tmpl__ +12 -0
- package/src/generators/host/host.d.ts +5 -0
- package/src/generators/host/host.js +95 -0
- package/src/generators/host/lib/add-module-federation-files.d.ts +6 -0
- package/src/generators/host/lib/add-module-federation-files.js +52 -0
- package/src/generators/host/lib/normalize-remote.d.ts +4 -0
- package/src/generators/host/lib/normalize-remote.js +28 -0
- package/src/generators/host/lib/setup-ssr-for-host.d.ts +6 -0
- package/src/generators/host/lib/setup-ssr-for-host.js +33 -0
- package/src/generators/host/lib/update-module-federation-e2e-project.d.ts +3 -0
- package/src/generators/host/lib/update-module-federation-e2e-project.js +20 -0
- package/src/generators/host/schema.d.ts +37 -0
- package/src/generators/host/schema.json +184 -0
- package/src/generators/init/init.d.ts +4 -0
- package/src/generators/init/init.js +23 -0
- package/src/generators/init/schema.d.ts +5 -0
- package/src/generators/init/schema.json +27 -0
- package/src/generators/library/files/common/README.md +7 -0
- package/src/generators/library/files/common/package.json__tmpl__ +4 -0
- package/src/generators/library/files/common/src/index.ts__tmpl__ +0 -0
- package/src/generators/library/files/common/tsconfig.lib.json__tmpl__ +14 -0
- package/src/generators/library/files/vite/README.md +7 -0
- package/src/generators/library/files/vite/package.json__tmpl__ +12 -0
- package/src/generators/library/files/vite/tsconfig.lib.json__tmpl__ +14 -0
- package/src/generators/library/lib/add-linting.d.ts +3 -0
- package/src/generators/library/lib/add-linting.js +36 -0
- package/src/generators/library/lib/add-rollup-build-target.d.ts +4 -0
- package/src/generators/library/lib/add-rollup-build-target.js +59 -0
- package/src/generators/library/lib/create-files.d.ts +3 -0
- package/src/generators/library/lib/create-files.js +53 -0
- package/src/generators/library/lib/install-common-dependencies.d.ts +3 -0
- package/src/generators/library/lib/install-common-dependencies.js +47 -0
- package/src/generators/library/lib/normalize-options.d.ts +3 -0
- package/src/generators/library/lib/normalize-options.js +92 -0
- package/src/generators/library/lib/set-defaults.d.ts +3 -0
- package/src/generators/library/lib/set-defaults.js +23 -0
- package/src/generators/library/lib/update-app-routes.d.ts +3 -0
- package/src/generators/library/lib/update-app-routes.js +62 -0
- package/src/generators/library/library.d.ts +5 -0
- package/src/generators/library/library.js +193 -0
- package/src/generators/library/schema.d.ts +45 -0
- package/src/generators/library/schema.json +198 -0
- package/src/generators/redux/files/__fileName__.slice.spec.ts__tmpl__ +56 -0
- package/src/generators/redux/files/__fileName__.slice.ts__tmpl__ +129 -0
- package/src/generators/redux/redux.d.ts +5 -0
- package/src/generators/redux/redux.js +143 -0
- package/src/generators/redux/schema.d.ts +23 -0
- package/src/generators/redux/schema.json +51 -0
- package/src/generators/remote/files/common/src/main.js__tmpl__ +1 -0
- package/src/generators/remote/files/common/src/remote-entry.js__tmpl__ +1 -0
- package/src/generators/remote/files/common-ts/src/main.ts__tmpl__ +1 -0
- package/src/generators/remote/files/common-ts/src/remote-entry.ts__tmpl__ +1 -0
- package/src/generators/remote/files/module-federation/module-federation.config.js__tmpl__ +9 -0
- package/src/generators/remote/files/module-federation/webpack.config.js__tmpl__ +12 -0
- package/src/generators/remote/files/module-federation/webpack.config.prod.js__tmpl__ +1 -0
- package/src/generators/remote/files/module-federation-ssr/module-federation.server.config.js__tmpl__ +6 -0
- package/src/generators/remote/files/module-federation-ssr/server.ts__tmpl__ +45 -0
- package/src/generators/remote/files/module-federation-ssr/webpack.server.config.js__tmpl__ +12 -0
- package/src/generators/remote/files/module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +10 -0
- package/src/generators/remote/files/module-federation-ssr-ts/server.ts__tmpl__ +45 -0
- package/src/generators/remote/files/module-federation-ssr-ts/tsconfig.lint.json__tmpl__ +19 -0
- package/src/generators/remote/files/module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +12 -0
- package/src/generators/remote/files/module-federation-ts/module-federation.config.ts__tmpl__ +13 -0
- package/src/generators/remote/files/module-federation-ts/tsconfig.lint.json__tmpl__ +19 -0
- package/src/generators/remote/files/module-federation-ts/webpack.config.prod.ts__tmpl__ +1 -0
- package/src/generators/remote/files/module-federation-ts/webpack.config.ts__tmpl__ +12 -0
- package/src/generators/remote/lib/add-remote-to-dynamic-host.d.ts +2 -0
- package/src/generators/remote/lib/add-remote-to-dynamic-host.js +11 -0
- package/src/generators/remote/lib/setup-ssr-for-remote.d.ts +4 -0
- package/src/generators/remote/lib/setup-ssr-for-remote.js +40 -0
- package/src/generators/remote/lib/setup-tspath-for-remote.d.ts +3 -0
- package/src/generators/remote/lib/setup-tspath-for-remote.js +15 -0
- package/src/generators/remote/lib/update-host-with-remote.d.ts +2 -0
- package/src/generators/remote/lib/update-host-with-remote.js +64 -0
- package/src/generators/remote/remote.d.ts +7 -0
- package/src/generators/remote/remote.js +104 -0
- package/src/generators/remote/schema.d.ts +34 -0
- package/src/generators/remote/schema.json +183 -0
- package/src/generators/setup-ssr/files/server.ts__tmpl__ +28 -0
- package/src/generators/setup-ssr/files/src/main.server.tsx__tmpl__ +47 -0
- package/src/generators/setup-ssr/files/tsconfig.server.json__tmpl__ +17 -0
- package/src/generators/setup-ssr/schema.d.ts +7 -0
- package/src/generators/setup-ssr/schema.json +48 -0
- package/src/generators/setup-ssr/setup-ssr.d.ts +4 -0
- package/src/generators/setup-ssr/setup-ssr.js +183 -0
- package/src/generators/setup-tailwind/files/postcss.config.js__tmpl__ +15 -0
- package/src/generators/setup-tailwind/files/tailwind.config.js__tmpl__ +17 -0
- package/src/generators/setup-tailwind/lib/add-tailwind-style-imports.d.ts +3 -0
- package/src/generators/setup-tailwind/lib/add-tailwind-style-imports.js +36 -0
- package/src/generators/setup-tailwind/lib/update-project.d.ts +3 -0
- package/src/generators/setup-tailwind/lib/update-project.js +13 -0
- package/src/generators/setup-tailwind/schema.d.ts +6 -0
- package/src/generators/setup-tailwind/schema.js +2 -0
- package/src/generators/setup-tailwind/schema.json +47 -0
- package/src/generators/setup-tailwind/setup-tailwind.d.ts +4 -0
- package/src/generators/setup-tailwind/setup-tailwind.js +35 -0
- package/src/generators/stories/schema.json +67 -0
- package/src/generators/stories/stories.d.ts +15 -0
- package/src/generators/stories/stories.js +130 -0
- package/src/generators/storybook-configuration/configuration.d.ts +6 -0
- package/src/generators/storybook-configuration/configuration.js +74 -0
- package/src/generators/storybook-configuration/schema.d.ts +16 -0
- package/src/generators/storybook-configuration/schema.json +95 -0
- package/src/migrations/update-15-3-0/install-webpack-rollup-dependencies.d.ts +3 -0
- package/src/migrations/update-15-3-0/install-webpack-rollup-dependencies.js +37 -0
- package/src/migrations/update-15-3-0/update-rollup-executor.d.ts +3 -0
- package/src/migrations/update-15-3-0/update-rollup-executor.js +15 -0
- package/src/migrations/update-15-6-3/webpack-config-setup.d.ts +2 -0
- package/src/migrations/update-15-6-3/webpack-config-setup.js +103 -0
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +2 -0
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +9 -0
- package/src/migrations/update-16-2-0-remove-package/update-16-2-0-remove-package.d.ts +2 -0
- package/src/migrations/update-16-2-0-remove-package/update-16-2-0-remove-package.js +8 -0
- package/src/migrations/update-16-3-0/remove-types-react-router-dom-package.d.ts +2 -0
- package/src/migrations/update-16-3-0/remove-types-react-router-dom-package.js +8 -0
- package/src/migrations/update-16-7-0/add-babel-core.d.ts +2 -0
- package/src/migrations/update-16-7-0/add-babel-core.js +14 -0
- package/src/migrations/update-16-7-0-add-typings/update-16-7-0-add-typings.d.ts +2 -0
- package/src/migrations/update-16-7-0-add-typings/update-16-7-0-add-typings.js +57 -0
- package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.d.ts +2 -0
- package/src/migrations/update-18-0-0/add-mf-env-var-to-target-defaults.js +26 -0
- package/src/module-federation/ast-utils.d.ts +8 -0
- package/src/module-federation/ast-utils.js +102 -0
- package/src/module-federation/load-config.d.ts +3 -0
- package/src/module-federation/load-config.js +16 -0
- package/src/module-federation/models.d.ts +24 -0
- package/src/module-federation/models.js +2 -0
- package/src/module-federation/package-json.d.ts +8 -0
- package/src/module-federation/package-json.js +13 -0
- package/src/module-federation/utils.d.ts +12 -0
- package/src/module-federation/utils.js +76 -0
- package/src/module-federation/with-module-federation-ssr.d.ts +2 -0
- package/src/module-federation/with-module-federation-ssr.js +34 -0
- package/src/module-federation/with-module-federation.d.ts +7 -0
- package/src/module-federation/with-module-federation.js +50 -0
- package/src/rules/add-styled-dependencies.d.ts +5 -0
- package/src/rules/add-styled-dependencies.js +17 -0
- package/src/rules/update-module-federation-project.d.ts +9 -0
- package/src/rules/update-module-federation-project.js +50 -0
- package/src/utils/add-mf-env-to-inputs.d.ts +2 -0
- package/src/utils/add-mf-env-to-inputs.js +24 -0
- package/src/utils/assertion.d.ts +1 -0
- package/src/utils/assertion.js +19 -0
- package/src/utils/ast-utils.d.ts +29 -0
- package/src/utils/ast-utils.js +522 -0
- package/src/utils/component-props.d.ts +15 -0
- package/src/utils/component-props.js +60 -0
- package/src/utils/create-ts-config.d.ts +9 -0
- package/src/utils/create-ts-config.js +65 -0
- package/src/utils/ct-utils.d.ts +14 -0
- package/src/utils/ct-utils.js +94 -0
- package/src/utils/dependencies.d.ts +7 -0
- package/src/utils/dependencies.js +2 -0
- package/src/utils/format-file.d.ts +1 -0
- package/src/utils/format-file.js +12 -0
- package/src/utils/get-in-source-vitest-tests-template.d.ts +1 -0
- package/src/utils/get-in-source-vitest-tests-template.js +21 -0
- package/src/utils/has-vite-plugin.d.ts +2 -0
- package/src/utils/has-vite-plugin.js +11 -0
- package/src/utils/has-webpack-plugin.d.ts +2 -0
- package/src/utils/has-webpack-plugin.js +11 -0
- package/src/utils/jest-utils.d.ts +1 -0
- package/src/utils/jest-utils.js +9 -0
- package/src/utils/lint.d.ts +36 -0
- package/src/utils/lint.js +24 -0
- package/src/utils/maybe-js.d.ts +3 -0
- package/src/utils/maybe-js.js +9 -0
- package/src/utils/styled.d.ts +3 -0
- package/src/utils/styled.js +62 -0
- package/src/utils/testing-generators.d.ts +3 -0
- package/src/utils/testing-generators.js +30 -0
- package/src/utils/versions.d.ts +46 -0
- package/src/utils/versions.js +54 -0
- package/tailwind.d.ts +6 -0
- package/tailwind.js +29 -0
- package/typings/cssmodule.d.ts +19 -0
- package/typings/image.d.ts +48 -0
- package/typings/style.d.ts +9 -0
- package/typings/styled-jsx.d.ts +8 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
(The MIT License)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017-2023 Narwhal Technologies Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
'Software'), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
19
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
20
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
21
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
22
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<p style="text-align: center;">
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
|
|
4
|
+
<img alt="Nx - Smart Monorepos · Fast CI" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
|
|
5
|
+
</picture>
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<div style="text-align: center;">
|
|
9
|
+
|
|
10
|
+
[](https://circleci.com/gh/nrwl/nx)
|
|
11
|
+
[]()
|
|
12
|
+
[](https://www.npmjs.com/@nx/workspace)
|
|
13
|
+
[]()
|
|
14
|
+
[](http://commitizen.github.io/cz-cli/)
|
|
15
|
+
[](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
16
|
+
[](https://go.nx.dev/community)
|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
<hr>
|
|
22
|
+
|
|
23
|
+
# Nx: Smart Monorepos · Fast CI
|
|
24
|
+
|
|
25
|
+
Nx is a build system with built-in tooling and advanced CI capabilities. It helps you maintain and scale monorepos, both locally and on CI.
|
|
26
|
+
|
|
27
|
+
This package is a [React plugin for Nx](https://nx.dev/packages/react).
|
|
28
|
+
|
|
29
|
+
## Getting Started
|
|
30
|
+
|
|
31
|
+
### Creating an Nx Workspace
|
|
32
|
+
|
|
33
|
+
**Using `npx`**
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx create-nx-workspace
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Using `npm init`**
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm init nx-workspace
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Using `yarn create`**
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
yarn create nx-workspace
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Adding Nx to an Existing Repository
|
|
52
|
+
|
|
53
|
+
Run:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx nx@latest init
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Documentation & Resources
|
|
60
|
+
|
|
61
|
+
- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
|
|
62
|
+
- [Intro to Nx](https://nx.dev/getting-started/intro)
|
|
63
|
+
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
|
|
64
|
+
- [Blog Posts About Nx](https://blog.nrwl.io/nx/home)
|
|
65
|
+
|
|
66
|
+
<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg"
|
|
67
|
+
width="100%" alt="Nx - Smart Monorepos · Fast CI"></a></p>
|
|
68
|
+
|
package/ast-utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { findMainRenderStatement, findComponentImportPath, findElements, findDefaultExport, findClosestOpening, isTag, } from './src/utils/ast-utils';
|
package/ast-utils.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isTag = exports.findClosestOpening = exports.findDefaultExport = exports.findElements = exports.findComponentImportPath = exports.findMainRenderStatement = void 0;
|
|
4
|
+
// Exported schematics development outside of Nx. e.g. workspace schematics
|
|
5
|
+
var ast_utils_1 = require("./src/utils/ast-utils");
|
|
6
|
+
Object.defineProperty(exports, "findMainRenderStatement", { enumerable: true, get: function () { return ast_utils_1.findMainRenderStatement; } });
|
|
7
|
+
Object.defineProperty(exports, "findComponentImportPath", { enumerable: true, get: function () { return ast_utils_1.findComponentImportPath; } });
|
|
8
|
+
Object.defineProperty(exports, "findElements", { enumerable: true, get: function () { return ast_utils_1.findElements; } });
|
|
9
|
+
Object.defineProperty(exports, "findDefaultExport", { enumerable: true, get: function () { return ast_utils_1.findDefaultExport; } });
|
|
10
|
+
Object.defineProperty(exports, "findClosestOpening", { enumerable: true, get: function () { return ast_utils_1.findClosestOpening; } });
|
|
11
|
+
Object.defineProperty(exports, "isTag", { enumerable: true, get: function () { return ast_utils_1.isTag; } });
|
package/babel.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface NxReactBabelOptions {
|
|
2
|
+
development?: boolean;
|
|
3
|
+
runtime?: string;
|
|
4
|
+
importSource?: string;
|
|
5
|
+
useBuiltIns?: boolean | string;
|
|
6
|
+
decorators?: {
|
|
7
|
+
decoratorsBeforeExport?: boolean;
|
|
8
|
+
legacy?: boolean;
|
|
9
|
+
};
|
|
10
|
+
loose?: boolean;
|
|
11
|
+
/** @deprecated Use `loose` option instead of `classProperties.loose`
|
|
12
|
+
*/
|
|
13
|
+
classProperties?: {
|
|
14
|
+
loose?: boolean;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
declare function getReactPresetOptions({ presetOptions, env, }: {
|
|
18
|
+
env: string;
|
|
19
|
+
presetOptions: NxReactBabelOptions;
|
|
20
|
+
}): Record<string, string | boolean>;
|
package/babel.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Babel preset to provide React support for Nx.
|
|
3
|
+
*/
|
|
4
|
+
module.exports = function (api, options) {
|
|
5
|
+
api.assertVersion(7);
|
|
6
|
+
const env = api.env();
|
|
7
|
+
/**
|
|
8
|
+
* pagesDir is set when being transpiled by Next.js
|
|
9
|
+
*/
|
|
10
|
+
const isNextJs = api.caller((caller) => caller?.pagesDir);
|
|
11
|
+
const presets = [[require.resolve('@nx/js/babel'), options]];
|
|
12
|
+
/**
|
|
13
|
+
* Next.js already includes the preset-react, and including it
|
|
14
|
+
* the second time here results in having two instances of this preset.
|
|
15
|
+
*
|
|
16
|
+
* The plugin is duplicated as opposed to being merged because Next.js uses
|
|
17
|
+
* their own compiled version of the plugin, rather than one from node_modules.
|
|
18
|
+
* That affectively changes the "identity" of the plugin, and babel treats it as
|
|
19
|
+
* two separate instances.
|
|
20
|
+
*
|
|
21
|
+
* More on babel merging: https://babeljs.io/docs/en/options#merging
|
|
22
|
+
*/
|
|
23
|
+
if (!isNextJs) {
|
|
24
|
+
presets.push([
|
|
25
|
+
require.resolve('@babel/preset-react'),
|
|
26
|
+
getReactPresetOptions({
|
|
27
|
+
presetOptions: options,
|
|
28
|
+
env,
|
|
29
|
+
}),
|
|
30
|
+
]);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
presets,
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
function getReactPresetOptions({ presetOptions, env, }) {
|
|
37
|
+
const reactPresetOptions = {
|
|
38
|
+
runtime: presetOptions.runtime ?? 'automatic',
|
|
39
|
+
development: presetOptions.development ?? env !== 'production',
|
|
40
|
+
};
|
|
41
|
+
// JSX spread is transformed into object spread in `@babel/plugin-transform-react-jsx`
|
|
42
|
+
// `useBuiltIns` will be removed in Babel 8.
|
|
43
|
+
if (reactPresetOptions.runtime === 'automatic') {
|
|
44
|
+
reactPresetOptions.useBuiltIns = true;
|
|
45
|
+
}
|
|
46
|
+
if (presetOptions.importSource) {
|
|
47
|
+
reactPresetOptions.importSource = presetOptions.importSource;
|
|
48
|
+
}
|
|
49
|
+
return reactPresetOptions;
|
|
50
|
+
}
|
package/executors.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"executors": {
|
|
3
|
+
"module-federation-dev-server": {
|
|
4
|
+
"implementation": "./src/executors/module-federation-dev-server/module-federation-dev-server.impl",
|
|
5
|
+
"schema": "./src/executors/module-federation-dev-server/schema.json",
|
|
6
|
+
"description": "Serve a host or remote application."
|
|
7
|
+
},
|
|
8
|
+
"module-federation-ssr-dev-server": {
|
|
9
|
+
"implementation": "./src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl",
|
|
10
|
+
"schema": "./src/executors/module-federation-ssr-dev-server/schema.json",
|
|
11
|
+
"description": "Serve a host application along with it's known remotes."
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
package/generators.json
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Nx React",
|
|
3
|
+
"version": "0.1",
|
|
4
|
+
"extends": ["@nx/workspace"],
|
|
5
|
+
"generators": {
|
|
6
|
+
"init": {
|
|
7
|
+
"factory": "./src/generators/init/init#reactInitGenerator",
|
|
8
|
+
"schema": "./src/generators/init/schema.json",
|
|
9
|
+
"description": "Initialize the `@nrwl/react` plugin.",
|
|
10
|
+
"aliases": ["ng-add"],
|
|
11
|
+
"hidden": true
|
|
12
|
+
},
|
|
13
|
+
"application": {
|
|
14
|
+
"factory": "./src/generators/application/application#applicationGeneratorInternal",
|
|
15
|
+
"schema": "./src/generators/application/schema.json",
|
|
16
|
+
"aliases": ["app"],
|
|
17
|
+
"x-type": "application",
|
|
18
|
+
"description": "Create a React application."
|
|
19
|
+
},
|
|
20
|
+
"library": {
|
|
21
|
+
"factory": "./src/generators/library/library#libraryGeneratorInternal",
|
|
22
|
+
"schema": "./src/generators/library/schema.json",
|
|
23
|
+
"aliases": ["lib"],
|
|
24
|
+
"x-type": "library",
|
|
25
|
+
"description": "Create a React library."
|
|
26
|
+
},
|
|
27
|
+
"component": {
|
|
28
|
+
"factory": "./src/generators/component/component#componentGeneratorInternal",
|
|
29
|
+
"schema": "./src/generators/component/schema.json",
|
|
30
|
+
"description": "Create a React component.",
|
|
31
|
+
"aliases": ["c"]
|
|
32
|
+
},
|
|
33
|
+
"redux": {
|
|
34
|
+
"factory": "./src/generators/redux/redux#reduxGeneratorInternal",
|
|
35
|
+
"schema": "./src/generators/redux/schema.json",
|
|
36
|
+
"description": "Create a Redux slice for a project.",
|
|
37
|
+
"aliases": ["slice"]
|
|
38
|
+
},
|
|
39
|
+
"storybook-configuration": {
|
|
40
|
+
"factory": "./src/generators/storybook-configuration/configuration#storybookConfigurationGeneratorInternal",
|
|
41
|
+
"schema": "./src/generators/storybook-configuration/schema.json",
|
|
42
|
+
"description": "Set up storybook for a React app or library.",
|
|
43
|
+
"hidden": false
|
|
44
|
+
},
|
|
45
|
+
"component-story": {
|
|
46
|
+
"factory": "./src/generators/component-story/component-story#componentStoryGenerator",
|
|
47
|
+
"schema": "./src/generators/component-story/schema.json",
|
|
48
|
+
"description": "Generate storybook story for a React component",
|
|
49
|
+
"hidden": false
|
|
50
|
+
},
|
|
51
|
+
"stories": {
|
|
52
|
+
"factory": "./src/generators/stories/stories#storiesGenerator",
|
|
53
|
+
"schema": "./src/generators/stories/schema.json",
|
|
54
|
+
"description": "Create stories/specs for all components declared in an app or library.",
|
|
55
|
+
"hidden": false
|
|
56
|
+
},
|
|
57
|
+
"component-cypress-spec": {
|
|
58
|
+
"factory": "./src/generators/component-cypress-spec/component-cypress-spec#componentCypressGenerator",
|
|
59
|
+
"schema": "./src/generators/component-cypress-spec/schema.json",
|
|
60
|
+
"description": "Create a Cypress spec for a UI component that has a story.",
|
|
61
|
+
"hidden": false
|
|
62
|
+
},
|
|
63
|
+
"hook": {
|
|
64
|
+
"factory": "./src/generators/hook/hook#hookGeneratorInternal",
|
|
65
|
+
"schema": "./src/generators/hook/schema.json",
|
|
66
|
+
"description": "Create a hook.",
|
|
67
|
+
"aliases": ["c"]
|
|
68
|
+
},
|
|
69
|
+
"host": {
|
|
70
|
+
"factory": "./src/generators/host/host#hostGeneratorInternal",
|
|
71
|
+
"schema": "./src/generators/host/schema.json",
|
|
72
|
+
"x-type": "application",
|
|
73
|
+
"description": "Generate a host react application"
|
|
74
|
+
},
|
|
75
|
+
"remote": {
|
|
76
|
+
"factory": "./src/generators/remote/remote#remoteGeneratorInternal",
|
|
77
|
+
"schema": "./src/generators/remote/schema.json",
|
|
78
|
+
"x-type": "application",
|
|
79
|
+
"description": "Generate a remote react application"
|
|
80
|
+
},
|
|
81
|
+
"cypress-component-configuration": {
|
|
82
|
+
"factory": "./src/generators/cypress-component-configuration/cypress-component-configuration#cypressComponentConfigGenerator",
|
|
83
|
+
"schema": "./src/generators/cypress-component-configuration/schema.json",
|
|
84
|
+
"description": "Setup Cypress component testing for a React project",
|
|
85
|
+
"hidden": false
|
|
86
|
+
},
|
|
87
|
+
"component-test": {
|
|
88
|
+
"factory": "./src/generators/component-test/component-test#componentTestGenerator",
|
|
89
|
+
"schema": "./src/generators/component-test/schema.json",
|
|
90
|
+
"description": "Generate a Cypress component test for a React component",
|
|
91
|
+
"hidden": false
|
|
92
|
+
},
|
|
93
|
+
"setup-tailwind": {
|
|
94
|
+
"factory": "./src/generators/setup-tailwind/setup-tailwind#setupTailwindGenerator",
|
|
95
|
+
"schema": "./src/generators/setup-tailwind/schema.json",
|
|
96
|
+
"description": "Set up Tailwind configuration for a project.",
|
|
97
|
+
"hidden": false
|
|
98
|
+
},
|
|
99
|
+
"setup-ssr": {
|
|
100
|
+
"factory": "./src/generators/setup-ssr/setup-ssr#setupSsrGenerator",
|
|
101
|
+
"schema": "./src/generators/setup-ssr/schema.json",
|
|
102
|
+
"description": "Set up SSR configuration for a project.",
|
|
103
|
+
"hidden": false
|
|
104
|
+
},
|
|
105
|
+
"federate-module": {
|
|
106
|
+
"factory": "./src/generators/federate-module/federate-module#federateModuleGenerator",
|
|
107
|
+
"schema": "./src/generators/federate-module/schema.json",
|
|
108
|
+
"description": "Federate a module.",
|
|
109
|
+
"hidden": false
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export { extraEslintDependencies, extendReactEslintJson, } from './src/utils/lint';
|
|
2
|
+
export { cssInJsDependenciesBabel } from './src/utils/styled';
|
|
3
|
+
export { assertValidStyle } from './src/utils/assertion';
|
|
4
|
+
export { reactDomVersion, reactVersion } from './src/utils/versions';
|
|
5
|
+
export { applicationGenerator } from './src/generators/application/application';
|
|
6
|
+
export { componentGenerator } from './src/generators/component/component';
|
|
7
|
+
export { hookGenerator } from './src/generators/hook/hook';
|
|
8
|
+
export { componentCypressGenerator } from './src/generators/component-cypress-spec/component-cypress-spec';
|
|
9
|
+
export { componentStoryGenerator } from './src/generators/component-story/component-story';
|
|
10
|
+
export { libraryGenerator } from './src/generators/library/library';
|
|
11
|
+
export { reactInitGenerator } from './src/generators/init/init';
|
|
12
|
+
export { reduxGenerator } from './src/generators/redux/redux';
|
|
13
|
+
export { storiesGenerator } from './src/generators/stories/stories';
|
|
14
|
+
export { storybookConfigurationGenerator } from './src/generators/storybook-configuration/configuration';
|
|
15
|
+
export { hostGenerator } from './src/generators/host/host';
|
|
16
|
+
export { remoteGenerator } from './src/generators/remote/remote';
|
|
17
|
+
export { cypressComponentConfigGenerator } from './src/generators/cypress-component-configuration/cypress-component-configuration';
|
|
18
|
+
export { componentTestGenerator } from './src/generators/component-test/component-test';
|
|
19
|
+
export { setupTailwindGenerator } from './src/generators/setup-tailwind/setup-tailwind';
|
|
20
|
+
export type { SupportedStyles } from './typings/style';
|
|
21
|
+
export * from './plugins/with-react';
|
|
22
|
+
export { NxReactWebpackPlugin } from './plugins/nx-react-webpack-plugin/nx-react-webpack-plugin';
|
package/index.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NxReactWebpackPlugin = exports.setupTailwindGenerator = exports.componentTestGenerator = exports.cypressComponentConfigGenerator = exports.remoteGenerator = exports.hostGenerator = exports.storybookConfigurationGenerator = exports.storiesGenerator = exports.reduxGenerator = exports.reactInitGenerator = exports.libraryGenerator = exports.componentStoryGenerator = exports.componentCypressGenerator = exports.hookGenerator = exports.componentGenerator = exports.applicationGenerator = exports.reactVersion = exports.reactDomVersion = exports.assertValidStyle = exports.cssInJsDependenciesBabel = exports.extendReactEslintJson = exports.extraEslintDependencies = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
var lint_1 = require("./src/utils/lint");
|
|
6
|
+
Object.defineProperty(exports, "extraEslintDependencies", { enumerable: true, get: function () { return lint_1.extraEslintDependencies; } });
|
|
7
|
+
Object.defineProperty(exports, "extendReactEslintJson", { enumerable: true, get: function () { return lint_1.extendReactEslintJson; } });
|
|
8
|
+
var styled_1 = require("./src/utils/styled");
|
|
9
|
+
Object.defineProperty(exports, "cssInJsDependenciesBabel", { enumerable: true, get: function () { return styled_1.cssInJsDependenciesBabel; } });
|
|
10
|
+
var assertion_1 = require("./src/utils/assertion");
|
|
11
|
+
Object.defineProperty(exports, "assertValidStyle", { enumerable: true, get: function () { return assertion_1.assertValidStyle; } });
|
|
12
|
+
var versions_1 = require("./src/utils/versions");
|
|
13
|
+
Object.defineProperty(exports, "reactDomVersion", { enumerable: true, get: function () { return versions_1.reactDomVersion; } });
|
|
14
|
+
Object.defineProperty(exports, "reactVersion", { enumerable: true, get: function () { return versions_1.reactVersion; } });
|
|
15
|
+
var application_1 = require("./src/generators/application/application");
|
|
16
|
+
Object.defineProperty(exports, "applicationGenerator", { enumerable: true, get: function () { return application_1.applicationGenerator; } });
|
|
17
|
+
var component_1 = require("./src/generators/component/component");
|
|
18
|
+
Object.defineProperty(exports, "componentGenerator", { enumerable: true, get: function () { return component_1.componentGenerator; } });
|
|
19
|
+
var hook_1 = require("./src/generators/hook/hook");
|
|
20
|
+
Object.defineProperty(exports, "hookGenerator", { enumerable: true, get: function () { return hook_1.hookGenerator; } });
|
|
21
|
+
var component_cypress_spec_1 = require("./src/generators/component-cypress-spec/component-cypress-spec");
|
|
22
|
+
Object.defineProperty(exports, "componentCypressGenerator", { enumerable: true, get: function () { return component_cypress_spec_1.componentCypressGenerator; } });
|
|
23
|
+
var component_story_1 = require("./src/generators/component-story/component-story");
|
|
24
|
+
Object.defineProperty(exports, "componentStoryGenerator", { enumerable: true, get: function () { return component_story_1.componentStoryGenerator; } });
|
|
25
|
+
var library_1 = require("./src/generators/library/library");
|
|
26
|
+
Object.defineProperty(exports, "libraryGenerator", { enumerable: true, get: function () { return library_1.libraryGenerator; } });
|
|
27
|
+
var init_1 = require("./src/generators/init/init");
|
|
28
|
+
Object.defineProperty(exports, "reactInitGenerator", { enumerable: true, get: function () { return init_1.reactInitGenerator; } });
|
|
29
|
+
var redux_1 = require("./src/generators/redux/redux");
|
|
30
|
+
Object.defineProperty(exports, "reduxGenerator", { enumerable: true, get: function () { return redux_1.reduxGenerator; } });
|
|
31
|
+
var stories_1 = require("./src/generators/stories/stories");
|
|
32
|
+
Object.defineProperty(exports, "storiesGenerator", { enumerable: true, get: function () { return stories_1.storiesGenerator; } });
|
|
33
|
+
var configuration_1 = require("./src/generators/storybook-configuration/configuration");
|
|
34
|
+
Object.defineProperty(exports, "storybookConfigurationGenerator", { enumerable: true, get: function () { return configuration_1.storybookConfigurationGenerator; } });
|
|
35
|
+
var host_1 = require("./src/generators/host/host");
|
|
36
|
+
Object.defineProperty(exports, "hostGenerator", { enumerable: true, get: function () { return host_1.hostGenerator; } });
|
|
37
|
+
var remote_1 = require("./src/generators/remote/remote");
|
|
38
|
+
Object.defineProperty(exports, "remoteGenerator", { enumerable: true, get: function () { return remote_1.remoteGenerator; } });
|
|
39
|
+
var cypress_component_configuration_1 = require("./src/generators/cypress-component-configuration/cypress-component-configuration");
|
|
40
|
+
Object.defineProperty(exports, "cypressComponentConfigGenerator", { enumerable: true, get: function () { return cypress_component_configuration_1.cypressComponentConfigGenerator; } });
|
|
41
|
+
var component_test_1 = require("./src/generators/component-test/component-test");
|
|
42
|
+
Object.defineProperty(exports, "componentTestGenerator", { enumerable: true, get: function () { return component_test_1.componentTestGenerator; } });
|
|
43
|
+
var setup_tailwind_1 = require("./src/generators/setup-tailwind/setup-tailwind");
|
|
44
|
+
Object.defineProperty(exports, "setupTailwindGenerator", { enumerable: true, get: function () { return setup_tailwind_1.setupTailwindGenerator; } });
|
|
45
|
+
tslib_1.__exportStar(require("./plugins/with-react"), exports);
|
|
46
|
+
var nx_react_webpack_plugin_1 = require("./plugins/nx-react-webpack-plugin/nx-react-webpack-plugin");
|
|
47
|
+
Object.defineProperty(exports, "NxReactWebpackPlugin", { enumerable: true, get: function () { return nx_react_webpack_plugin_1.NxReactWebpackPlugin; } });
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type ResolveRemoteUrlFunction = (remoteName: string) => string | Promise<string>;
|
|
2
|
+
export declare function setRemoteUrlResolver(_resolveRemoteUrl: ResolveRemoteUrlFunction): void;
|
|
3
|
+
export declare function setRemoteDefinitions(definitions: Record<string, string>): void;
|
|
4
|
+
export declare function loadRemoteModule(remoteName: string, moduleName: string): Promise<any>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadRemoteModule = exports.setRemoteDefinitions = exports.setRemoteUrlResolver = void 0;
|
|
4
|
+
let remoteUrlDefinitions;
|
|
5
|
+
let resolveRemoteUrl;
|
|
6
|
+
const remoteModuleMap = new Map();
|
|
7
|
+
const remoteContainerMap = new Map();
|
|
8
|
+
let initialSharingScopeCreated = false;
|
|
9
|
+
function setRemoteUrlResolver(_resolveRemoteUrl) {
|
|
10
|
+
resolveRemoteUrl = _resolveRemoteUrl;
|
|
11
|
+
}
|
|
12
|
+
exports.setRemoteUrlResolver = setRemoteUrlResolver;
|
|
13
|
+
function setRemoteDefinitions(definitions) {
|
|
14
|
+
remoteUrlDefinitions = definitions;
|
|
15
|
+
}
|
|
16
|
+
exports.setRemoteDefinitions = setRemoteDefinitions;
|
|
17
|
+
async function loadRemoteModule(remoteName, moduleName) {
|
|
18
|
+
const remoteModuleKey = `${remoteName}:${moduleName}`;
|
|
19
|
+
if (remoteModuleMap.has(remoteModuleKey)) {
|
|
20
|
+
return remoteModuleMap.get(remoteModuleKey);
|
|
21
|
+
}
|
|
22
|
+
const container = remoteContainerMap.has(remoteName)
|
|
23
|
+
? remoteContainerMap.get(remoteName)
|
|
24
|
+
: await loadRemoteContainer(remoteName);
|
|
25
|
+
const factory = await container.get(moduleName);
|
|
26
|
+
const Module = factory();
|
|
27
|
+
remoteModuleMap.set(remoteModuleKey, Module);
|
|
28
|
+
return Module;
|
|
29
|
+
}
|
|
30
|
+
exports.loadRemoteModule = loadRemoteModule;
|
|
31
|
+
const fetchRemoteModule = (url, remoteName) => {
|
|
32
|
+
return new Promise((resolve, reject) => {
|
|
33
|
+
const script = document.createElement('script');
|
|
34
|
+
script.src = url;
|
|
35
|
+
script.type = 'text/javascript';
|
|
36
|
+
script.async = true;
|
|
37
|
+
script.onload = () => {
|
|
38
|
+
const proxy = {
|
|
39
|
+
get: (request) => window[remoteName].get(request),
|
|
40
|
+
init: (arg) => {
|
|
41
|
+
try {
|
|
42
|
+
window[remoteName].init(arg);
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
console.error(`Failed to initialize remote ${remoteName}`, e);
|
|
46
|
+
reject(e);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
resolve(proxy);
|
|
51
|
+
};
|
|
52
|
+
script.onerror = () => reject(new Error(`Remote ${remoteName} not found`));
|
|
53
|
+
document.head.appendChild(script);
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
async function loadRemoteContainer(remoteName) {
|
|
57
|
+
if (!resolveRemoteUrl && !remoteUrlDefinitions) {
|
|
58
|
+
throw new Error('Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.');
|
|
59
|
+
}
|
|
60
|
+
if (!initialSharingScopeCreated) {
|
|
61
|
+
initialSharingScopeCreated = true;
|
|
62
|
+
await __webpack_init_sharing__('default');
|
|
63
|
+
}
|
|
64
|
+
const remoteUrl = remoteUrlDefinitions
|
|
65
|
+
? remoteUrlDefinitions[remoteName]
|
|
66
|
+
: await resolveRemoteUrl(remoteName);
|
|
67
|
+
let containerUrl = remoteUrl;
|
|
68
|
+
if (!remoteUrl.endsWith('.mjs') && !remoteUrl.endsWith('.js')) {
|
|
69
|
+
containerUrl = `${remoteUrl}${remoteUrl.endsWith('/') ? '' : '/'}remoteEntry.js`;
|
|
70
|
+
}
|
|
71
|
+
const container = await fetchRemoteModule(containerUrl, remoteName);
|
|
72
|
+
await container.init(__webpack_share_scopes__.default);
|
|
73
|
+
remoteContainerMap.set(remoteName, container);
|
|
74
|
+
return container;
|
|
75
|
+
}
|
package/mf/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { loadRemoteModule, setRemoteDefinitions, setRemoteUrlResolver, } from './dynamic-federation';
|
package/mf/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setRemoteUrlResolver = exports.setRemoteDefinitions = exports.loadRemoteModule = void 0;
|
|
4
|
+
var dynamic_federation_1 = require("./dynamic-federation");
|
|
5
|
+
Object.defineProperty(exports, "loadRemoteModule", { enumerable: true, get: function () { return dynamic_federation_1.loadRemoteModule; } });
|
|
6
|
+
Object.defineProperty(exports, "setRemoteDefinitions", { enumerable: true, get: function () { return dynamic_federation_1.setRemoteDefinitions; } });
|
|
7
|
+
Object.defineProperty(exports, "setRemoteUrlResolver", { enumerable: true, get: function () { return dynamic_federation_1.setRemoteUrlResolver; } });
|