UNPKG

craco-plugin-single-spa-app-aot

Version:

Convert your CRA project into a single-spa application without ejecting or losing update support of react-scripts

48 lines (32 loc) 1.88 kB
# craco-plugin-single-spa-app-aot Convert your CRA project into a single-spa application without ejecting and losing update support of react-scripts ![](https://img.shields.io/npm/v/craco-plugin-single-spa-application.svg?style=flat) ![](https://img.shields.io/npm/dt/craco-plugin-single-spa-application.svg?style=flat) ## Dependencies This plugins depends on CRACO so make sure to follow the installation instructions before installing and setting up this plugin. https://github.com/gsoft-inc/craco/blob/master/packages/craco/README.md#installation ## Install ``` npm install craco-plugin-single-spa-app-aot --save-dev ``` ## Usage 1. Open the `craco.config.js` file and apply the following changes: ```typescript const SingleSpaAppcracoPlugin = require('craco-plugin-single-spa-app-aot'); const singleSpaAppPlugin = { plugin: SingleSpaAppcracoPlugin, options: { orgName: "my-org", projectName: "my-app", entry: "src/single-spa-index.tsx", //defaults to src/index.js, orgPackagesAsExternal: false, // defaults to false. marks packages that has @my-org prefix as external so they are not included in the bundle reactPackagesAsExternal: true, // defaults to true. marks react and react-dom as external so they are not included in the bundle minimize: false, // defaults to false, sets optimization.minimize value outputFilename: "single-spa-build.js" // defaults to the values set for the "orgName" and "projectName" properties, in this case "my-org-my-app.js" }, } // Keep any other configuration you are exporting from CRACO and add the plugin to the plugins array module.exports = { plugins: [singleSpaAppPlugin] } ``` 2. Run `npm run craco:build` to generate your microfrontend app bundle. The output will be located under build folder and named as `my-org-my-app.js` or using the name defined in `outputFilename` option.