├── .eslintrc.json ├── .github └── workflows │ └── build.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .vscode └── extensions.json ├── README.md ├── apps ├── host │ ├── project.json │ ├── rspack.config.js │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.ts │ │ │ ├── app.config.ts │ │ │ ├── app.routes.ts │ │ │ ├── footer.component.scss │ │ │ └── footer.component.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── bootstrap.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── main.ts │ │ └── styles.css │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ └── tsconfig.json ├── mfe1 │ ├── project.json │ ├── rspack.config.js │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ └── app.component.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── main.ts │ │ └── styles.css │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ └── tsconfig.json └── mfe2 │ ├── project.json │ ├── rspack.config.js │ ├── src │ ├── app │ │ ├── app.component.html │ │ ├── app.component.scss │ │ └── app.component.ts │ ├── assets │ │ └── .gitkeep │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ └── styles.css │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ └── tsconfig.json ├── build.log ├── nx.json ├── package.json ├── perf.md ├── pnpm-lock.yaml └── tsconfig.base.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "ignorePatterns": ["**/*"], 4 | "plugins": ["@nx"], 5 | "overrides": [ 6 | { 7 | "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], 8 | "rules": { 9 | "@nx/enforce-module-boundaries": [ 10 | "error", 11 | { 12 | "enforceBuildableLibDependency": true, 13 | "allow": [], 14 | "depConstraints": [ 15 | { 16 | "sourceTag": "*", 17 | "onlyDependOnLibsWithTags": ["*"] 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | }, 24 | { 25 | "files": ["*.ts", "*.tsx"], 26 | "extends": ["plugin:@nx/typescript"], 27 | "rules": {} 28 | }, 29 | { 30 | "files": ["*.js", "*.jsx"], 31 | "extends": ["plugin:@nx/javascript"], 32 | "rules": {} 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build & log 2 | on: [push] 3 | jobs: 4 | build: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - uses: actions/checkout@v4 8 | - uses: actions/setup-node@v4 9 | - uses: pnpm/action-setup@v3 10 | with: 11 | version: 8 12 | - run: sudo apt install hyperfine -y 13 | - run: pnpm install 14 | - run: pnpm nx run-many -t build build-wp build-es -p mfe1 15 | - run: echo "rspack" >> build.log && ls -lah dist/mfe1/rspack >> build.log 16 | - run: echo "webpack" >> build.log && ls -lah dist/mfe1/webpack >> build.log 17 | - run: echo "esbuild" >> build.log && ls -lah dist/mfe1/esbuild/browser >> build.log 18 | - run: cat build.log 19 | - run: hyperfine -n "Webpack" "pnpm nx build-wp mfe1" -n "Rspack" "pnpm nx build mfe1" -n "Esbuild" "pnpm nx build-es mfe1" --prepare "rm -rf .angular dist" --export-markdown perf.md 20 | - name: Commit & Push 21 | run: | 22 | git config --local user.email "bozonedouard@gmail.com" 23 | git config --local user.name "Edouard Bozon" 24 | git add build.log perf.md 25 | git commit -m "chore: update perf logs" 26 | git push 27 | env: 28 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | dist 5 | tmp 6 | /out-tsc 7 | 8 | # dependencies 9 | node_modules 10 | 11 | # IDEs and editors 12 | /.idea 13 | .project 14 | .classpath 15 | .c9/ 16 | *.launch 17 | .settings/ 18 | *.sublime-workspace 19 | 20 | # IDE - VSCode 21 | .vscode/* 22 | !.vscode/settings.json 23 | !.vscode/tasks.json 24 | !.vscode/launch.json 25 | !.vscode/extensions.json 26 | 27 | # misc 28 | /.sass-cache 29 | /connect.lock 30 | /coverage 31 | /libpeerconnection.log 32 | npm-debug.log 33 | yarn-error.log 34 | testem.log 35 | /typings 36 | 37 | # System Files 38 | .DS_Store 39 | Thumbs.db 40 | 41 | .nx/cache 42 | .angular 43 | @mf-types 44 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | strict-peer-dependencies=false 2 | auto-install-peers=true 3 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Add files here to ignore them from prettier formatting 2 | /dist 3 | /coverage 4 | /.nx/cache 5 | .angular 6 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "nrwl.angular-console", 4 | "esbenp.prettier-vscode", 5 | "firsttris.vscode-jest-runner" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ng-rspack 2 | 3 | 4 | 5 | ``` 6 | nx run-many -t serve -p host,mfe1,mfe2 7 | ``` 8 | 9 | - See [build.log](./build.log) for comparing bundle size between builds. 10 | - See [perf.md](./perf.md) for comparing performance between bundlers on the last build. 11 | -------------------------------------------------------------------------------- /apps/host/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "host", 3 | "$schema": "../../node_modules/nx/schemas/project-schema.json", 4 | "projectType": "application", 5 | "prefix": "app", 6 | "sourceRoot": "apps/host/src", 7 | "tags": [], 8 | "targets": { 9 | "build": { 10 | "executor": "@nx/rspack:rspack", 11 | "outputs": ["{options.outputPath}"], 12 | "options": { 13 | "target": "web", 14 | "rspackConfig": "apps/host/rspack.config.js", 15 | "outputPath": "dist/host/rspack", 16 | "main": "apps/host/src/main.ts", 17 | "tsConfig": "apps/host/tsconfig.app.json", 18 | "assets": ["apps/host/src/favicon.ico", "apps/host/src/assets"] 19 | }, 20 | "configurations": { 21 | "development": { 22 | "mode": "development" 23 | }, 24 | "production": { 25 | "mode": "production", 26 | "optimization": true, 27 | "sourceMap": false 28 | } 29 | }, 30 | "defaultConfiguration": "production" 31 | }, 32 | "build-wp": { 33 | "executor": "@angular-devkit/build-angular:browser", 34 | "outputs": ["{options.outputPath}"], 35 | "options": { 36 | "outputPath": "dist/host/webpack", 37 | "index": "apps/host/src/index.html", 38 | "main": "apps/host/src/main.ts", 39 | "polyfills": ["zone.js"], 40 | "tsConfig": "apps/host/tsconfig.app.json", 41 | "assets": ["apps/host/src/favicon.ico", "apps/host/src/assets"], 42 | "styles": ["apps/host/src/styles.css"], 43 | "scripts": [] 44 | }, 45 | "configurations": { 46 | "production": { 47 | "outputHashing": "all", 48 | "extractLicenses": false 49 | }, 50 | "development": { 51 | "buildOptimizer": false, 52 | "optimization": false, 53 | "vendorChunk": true, 54 | "extractLicenses": false, 55 | "sourceMap": true, 56 | "namedChunks": true 57 | } 58 | }, 59 | "defaultConfiguration": "production" 60 | }, 61 | "build-es": { 62 | "executor": "@nx/angular:application", 63 | "outputs": ["{options.outputPath}"], 64 | "options": { 65 | "outputPath": "dist/host/esbuild", 66 | "index": "apps/host/src/index.html", 67 | "browser": "apps/host/src/main.ts", 68 | "polyfills": ["zone.js"], 69 | "tsConfig": "apps/host/tsconfig.app.json", 70 | "assets": ["apps/host/src/favicon.ico", "apps/host/src/assets"], 71 | "styles": ["apps/host/src/styles.css"], 72 | "scripts": [] 73 | }, 74 | "configurations": { 75 | "production": { 76 | "outputHashing": "all", 77 | "extractLicenses": false 78 | }, 79 | "development": { 80 | "optimization": false, 81 | "extractLicenses": false, 82 | "sourceMap": true 83 | } 84 | }, 85 | "defaultConfiguration": "production" 86 | }, 87 | "serve": { 88 | "executor": "@nx/rspack:dev-server", 89 | "options": { 90 | "port": 3000 91 | }, 92 | "configurations": { 93 | "development": { 94 | "buildTarget": "host:build:development" 95 | } 96 | }, 97 | "defaultConfiguration": "development" 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /apps/host/rspack.config.js: -------------------------------------------------------------------------------- 1 | const { composePlugins, withNx, withWeb } = require('@nx/rspack'); 2 | const { 3 | HtmlRspackPlugin, 4 | SwcJsMinimizerRspackPlugin, 5 | CopyRspackPlugin, 6 | javascript, 7 | } = require('@rspack/core'); 8 | const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); 9 | const lightningcss = require('lightningcss'); 10 | const browserslist = require('browserslist'); 11 | const terserPlugin = require('terser-webpack-plugin'); 12 | const { AngularWebpackPlugin } = require('@ngtools/webpack'); 13 | const { ProgressPlugin, CssExtractRspackPlugin } = require('@rspack/core'); 14 | const { 15 | getSupportedBrowsers, 16 | } = require('@angular-devkit/build-angular/src/utils/supported-browsers'); 17 | const { 18 | JavaScriptOptimizerPlugin, 19 | } = require('@angular-devkit/build-angular/src/tools/webpack/plugins/javascript-optimizer-plugin'); 20 | const { 21 | TransferSizePlugin, 22 | } = require('@angular-devkit/build-angular/src/tools/webpack/plugins/transfer-size-plugin'); 23 | const { 24 | CssOptimizerPlugin, 25 | } = require('@angular-devkit/build-angular/src/tools/webpack/plugins/css-optimizer-plugin'); 26 | const { ModuleFederationPlugin } = require('@module-federation/enhanced/rspack'); 27 | const path = require('path'); 28 | const { workspaceRoot } = require('@nx/devkit'); 29 | 30 | /** 31 | * Angular CLI Webpack references: 32 | * 33 | * - https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/tools/webpack/configs/common.ts 34 | * - https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/tools/webpack/configs/styles.ts 35 | */ 36 | 37 | const supportedBrowsers = getSupportedBrowsers(); 38 | 39 | module.exports = composePlugins(withNx(), withWeb(), (baseConfig, ctx) => { 40 | /** 41 | * @type {import('@rspack/cli').Configuration} 42 | */ 43 | const config = { 44 | ...baseConfig, 45 | mode: 'production', 46 | devtool: false, 47 | target: ['web', 'es2015'], 48 | entry: { 49 | polyfills: ['zone.js'], 50 | main: ['./src/main.ts'], 51 | }, 52 | resolve: { 53 | extensions: ['.ts', '.tsx', '.mjs', '.js'], 54 | modules: ['node_modules'], 55 | mainFields: ['es2020', 'es2015', 'browser', 'module', 'main'], 56 | conditionNames: ['es2020', 'es2015', '...'], 57 | }, 58 | context: __dirname, 59 | devServer: { 60 | client: { 61 | overlay: { 62 | errors: true, 63 | warnings: false, 64 | runtimeErrors: true, 65 | }, 66 | }, 67 | }, 68 | node: false, 69 | output: { 70 | uniqueName: 'host', 71 | clean: true, 72 | path: path.resolve(workspaceRoot, ctx.options.outputPath), 73 | filename: '[name].[contenthash:20].js', 74 | chunkFilename: '[name].[contenthash:20].js', 75 | crossOriginLoading: 'anonymous', 76 | trustedTypes: 'angular#bundler', 77 | scriptType: 'module', 78 | }, 79 | watch: false, 80 | experiments: { 81 | asyncWebAssembly: true, 82 | topLevelAwait: false, 83 | css: true, 84 | }, 85 | module: { 86 | parser: { 87 | javascript: { 88 | requireContext: false, 89 | url: false, 90 | }, 91 | }, 92 | rules: [ 93 | // Global assets 94 | { 95 | test: /\.?(sa|sc|c)ss$/, 96 | resourceQuery: /\?ngGlobalStyle/, 97 | use: [ 98 | { 99 | loader: 'sass-loader', 100 | options: { 101 | api: 'modern-compiler', 102 | implementation: require.resolve('sass-embedded'), 103 | }, 104 | }, 105 | ], 106 | type: 'css', 107 | }, 108 | 109 | // Component templates 110 | { 111 | test: /\.?(svg|html)$/, 112 | resourceQuery: /\?ngResource/, 113 | type: 'asset/source', 114 | }, 115 | // Component styles 116 | { 117 | test: /\.?(sa|sc|c)ss$/, 118 | resourceQuery: /\?ngResource/, 119 | use: [ 120 | { 121 | loader: require.resolve('raw-loader'), 122 | }, 123 | { 124 | loader: 'sass-loader', 125 | options: { 126 | api: 'modern-compiler', 127 | implementation: require.resolve('sass-embedded'), 128 | }, 129 | }, 130 | ], 131 | }, 132 | { 133 | // Mark files inside `rxjs/add` as containing side effects. 134 | // If this is fixed upstream and the fixed version becomes the minimum 135 | // supported version, this can be removed. 136 | test: /[/\\]rxjs[/\\]add[/\\].+\.js$/, 137 | sideEffects: true, 138 | }, 139 | { 140 | test: /\.[cm]?[tj]sx?$/, 141 | // The below is needed due to a bug in `@babel/runtime`. See: https://github.com/babel/babel/issues/12824 142 | resolve: { fullySpecified: false }, 143 | exclude: [ 144 | /[\\/]node_modules[/\\](?:core-js|@babel|tslib|web-animations-js|web-streams-polyfill|whatwg-url)[/\\]/, 145 | ], 146 | use: [ 147 | { 148 | loader: require.resolve( 149 | '@angular-devkit/build-angular/src/tools/babel/webpack-loader.js' 150 | ), 151 | options: { 152 | cacheDirectory: false, 153 | aot: true, 154 | optimize: true, 155 | supportedBrowsers, 156 | }, 157 | }, 158 | ], 159 | }, 160 | { 161 | test: /\.[cm]?tsx?$/, 162 | use: [ 163 | { loader: require.resolve('@ngtools/webpack/src/ivy/index.js') }, 164 | ], 165 | exclude: [ 166 | /[\\/]node_modules[/\\](?:css-loader|mini-css-extract-plugin|webpack-dev-server|webpack)[/\\]/, 167 | ], 168 | }, 169 | ], 170 | }, 171 | optimization: { 172 | minimize: true, 173 | minimizer: [ 174 | new JavaScriptOptimizerPlugin({ 175 | advanced: true, 176 | define: { 177 | ngDevMode: false, 178 | ngI18nClosureMode: false, 179 | ngJitMode: false, 180 | }, 181 | keepIdentifierNames: false, 182 | removeLicenses: true, 183 | sourcemap: false, 184 | }), 185 | new TransferSizePlugin(), 186 | new CssOptimizerPlugin(), 187 | ], 188 | }, 189 | plugins: [ 190 | new StylesWebpackPlugin({ 191 | root: __dirname, 192 | entryPoints: { 193 | styles: ['src/styles.css'], 194 | }, 195 | preserveSymlinks: false, 196 | }), 197 | new CopyRspackPlugin({ 198 | patterns: [ 199 | { 200 | from: 'src/assets', 201 | to: '.', 202 | globOptions: { 203 | dot: false, 204 | }, 205 | noErrorOnMissing: true, 206 | }, 207 | { 208 | from: 'src/favicon.ico', 209 | to: '.', 210 | }, 211 | ], 212 | }), 213 | new ProgressPlugin(), 214 | new CssExtractRspackPlugin(), 215 | new HtmlRspackPlugin({ 216 | minify: false, 217 | inject: 'body', 218 | scriptLoading: 'module', 219 | template: 'src/index.html', 220 | }), 221 | new AngularWebpackPlugin({ 222 | tsconfig: path.resolve(__dirname, 'tsconfig.app.json'), 223 | emitClassMetadata: false, 224 | emitNgModuleScope: false, 225 | jitMode: false, 226 | directTemplateLoading: true, 227 | compilerOptions: { 228 | sourceMap: false, 229 | declaration: false, 230 | declarationMap: false, 231 | preserveSymlinks: false, 232 | }, 233 | inlineStyleFileExtension: 'css', 234 | }), 235 | new ModuleFederationPlugin({ 236 | name: 'host', 237 | remotes: { 238 | mfe1: 'mfe1@http://localhost:3001/mf-manifest.json', 239 | mfe2: 'mfe2@http://localhost:3002/mf-manifest.json', 240 | }, 241 | shared: ['@angular/core', '@angular/common', '@angular/router'], 242 | }), 243 | ], 244 | }; 245 | 246 | return config; 247 | }); 248 | 249 | /** 250 | * Ported from Angular CLI Webpack plugin. 251 | * https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/tools/webpack/plugins/styles-webpack-plugin.ts 252 | */ 253 | class StylesWebpackPlugin { 254 | options; 255 | compilation; 256 | constructor(options) { 257 | this.options = options; 258 | } 259 | apply(compiler) { 260 | const { entryPoints, preserveSymlinks, root } = this.options; 261 | const resolver = compiler.resolverFactory.get('global-styles', { 262 | conditionNames: ['sass', 'less', 'style'], 263 | mainFields: ['sass', 'less', 'style', 'main', '...'], 264 | extensions: ['.scss', '.sass', '.less', '.css'], 265 | restrictions: [/\.((le|sa|sc|c)ss)$/i], 266 | preferRelative: true, 267 | useSyncFileSystemCalls: true, 268 | symlinks: !preserveSymlinks, 269 | fileSystem: compiler.inputFileSystem, 270 | }); 271 | const webpackOptions = compiler.options; 272 | compiler.hooks.environment.tap('styles-webpack-plugin', () => { 273 | const entrypoints = webpackOptions.entry; 274 | for (const [bundleName, paths] of Object.entries(entryPoints)) { 275 | entrypoints[bundleName] ??= {}; 276 | const entryImport = (entrypoints[bundleName].import ??= []); 277 | for (const path of paths) { 278 | try { 279 | const resolvedPath = resolver.resolveSync({}, root, path); 280 | if (resolvedPath) { 281 | entryImport.push(`${resolvedPath}?ngGlobalStyle`); 282 | } else { 283 | console.error('Compilation cannot be undefined.'); 284 | throw new Error(`Cannot resolve '${path}'.`); 285 | } 286 | } catch (error) { 287 | console.error('Compilation cannot be undefined.'); 288 | throw error; 289 | } 290 | } 291 | } 292 | return entrypoints; 293 | }); 294 | compiler.hooks.thisCompilation.tap( 295 | 'styles-webpack-plugin', 296 | (compilation) => { 297 | this.compilation = compilation; 298 | } 299 | ); 300 | } 301 | } 302 | -------------------------------------------------------------------------------- /apps/host/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 9 |

Welcome to the Host application

10 | 11 | 12 | -------------------------------------------------------------------------------- /apps/host/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | nav { 2 | position: fixed; 3 | top:0; 4 | left:0; 5 | width: 100%; 6 | height: 44px; 7 | } 8 | 9 | nav ul { 10 | list-style-type: none; 11 | } 12 | 13 | nav ul li a { 14 | display: inline-block; 15 | padding: 8px; 16 | } 17 | 18 | a { 19 | text-decoration: none; 20 | } 21 | 22 | a.active { 23 | font-weight: bold; 24 | text-decoration: underline; 25 | } 26 | 27 | :host { 28 | display: block; 29 | text-align: center; 30 | max-width: 400px; 31 | margin: 8rem auto; 32 | background: #ffff; 33 | border-radius: 8px; 34 | padding: 20px 8px; 35 | box-shadow: 0px 0px 20px 5px #0000000f; 36 | } 37 | 38 | app-footer { 39 | position: fixed; 40 | bottom:20px; 41 | left:0; 42 | width: 100%; 43 | text-align: center; 44 | } 45 | -------------------------------------------------------------------------------- /apps/host/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { RouterModule } from '@angular/router'; 3 | import { FooterComponent } from './footer.component'; 4 | 5 | @Component({ 6 | standalone: true, 7 | imports: [RouterModule, FooterComponent], 8 | selector: 'app-root', 9 | templateUrl: './app.component.html', 10 | styleUrl: './app.component.scss', 11 | }) 12 | export class AppComponent {} 13 | -------------------------------------------------------------------------------- /apps/host/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | import { appRoutes } from './app.routes'; 4 | 5 | export const appConfig: ApplicationConfig = { 6 | providers: [provideRouter(appRoutes)], 7 | }; 8 | -------------------------------------------------------------------------------- /apps/host/src/app/app.routes.ts: -------------------------------------------------------------------------------- 1 | import { Route } from '@angular/router'; 2 | // Todo: fix types 3 | // @ts-expect-error 4 | import { loadRemote } from '@module-federation/runtime'; 5 | 6 | export const appRoutes: Route[] = [ 7 | { 8 | path: 'mfe1', 9 | loadComponent: () => loadRemote('mfe1/app').then((m: any) => m.AppComponent), 10 | }, 11 | { 12 | path: 'mfe2', 13 | loadComponent: () => loadRemote('mfe2/app').then((m: any) => m.AppComponent), 14 | }, 15 | ]; 16 | -------------------------------------------------------------------------------- /apps/host/src/app/footer.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | margin-top: 2rem; 4 | } 5 | 6 | a { 7 | text-decoration: none; 8 | font-weight: bold; 9 | } 10 | 11 | img { 12 | max-width: 28px; 13 | max-height: 28px; 14 | display: inline-block; 15 | margin: 0 4px; 16 | position: relative; 17 | top: 6px; 18 | } 19 | -------------------------------------------------------------------------------- /apps/host/src/app/footer.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-footer', 5 | standalone: true, 6 | template: ` 7 |
8 | 🧪 Experiment by 9 | Edouard Bozon using 10 | 11 | + 12 | 13 | + 14 | 17 | + 18 | 19 |
20 | `, 21 | styleUrl: './footer.component.scss', 22 | }) 23 | export class FooterComponent {} 24 | -------------------------------------------------------------------------------- /apps/host/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edbzn/ng-rspack/728cb9196a6a6fa22ce2f4b0cf2c8cbc644dc6cb/apps/host/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/host/src/bootstrap.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { appConfig } from './app/app.config'; 3 | import { AppComponent } from './app/app.component'; 4 | 5 | export default bootstrapApplication(AppComponent, appConfig).catch((err) => 6 | console.error(err) 7 | ); 8 | -------------------------------------------------------------------------------- /apps/host/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edbzn/ng-rspack/728cb9196a6a6fa22ce2f4b0cf2c8cbc644dc6cb/apps/host/src/favicon.ico -------------------------------------------------------------------------------- /apps/host/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ng-rspack 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/host/src/main.ts: -------------------------------------------------------------------------------- 1 | import('./bootstrap'); 2 | -------------------------------------------------------------------------------- /apps/host/src/styles.css: -------------------------------------------------------------------------------- 1 | body, 2 | html { 3 | margin: 0; 4 | padding: 0; 5 | font-family: 'Roboto', sans-serif; 6 | background-color: #f0f0f0; 7 | } 8 | -------------------------------------------------------------------------------- /apps/host/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [], 6 | "paths": { 7 | "*": ["./@mf-types/*"] 8 | } 9 | }, 10 | "files": ["src/main.ts"], 11 | "include": ["src/**/*.d.ts"], 12 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 13 | } 14 | -------------------------------------------------------------------------------- /apps/host/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["src/**/*.ts"], 4 | "compilerOptions": {}, 5 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 6 | } 7 | -------------------------------------------------------------------------------- /apps/host/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "useDefineForClassFields": false, 4 | "forceConsistentCasingInFileNames": true, 5 | "strict": true, 6 | "noImplicitOverride": true, 7 | "noPropertyAccessFromIndexSignature": true, 8 | "noImplicitReturns": true, 9 | "noFallthroughCasesInSwitch": true 10 | }, 11 | "files": [], 12 | "include": [], 13 | "references": [ 14 | { 15 | "path": "./tsconfig.editor.json" 16 | }, 17 | { 18 | "path": "./tsconfig.app.json" 19 | } 20 | ], 21 | "angularCompilerOptions": { 22 | "enableI18nLegacyMessageIdFormat": false, 23 | "strictInjectionParameters": true, 24 | "strictInputAccessModifiers": true, 25 | "strictTemplates": true 26 | }, 27 | "extends": "../../tsconfig.base.json" 28 | } 29 | -------------------------------------------------------------------------------- /apps/mfe1/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mfe1", 3 | "$schema": "../../node_modules/nx/schemas/project-schema.json", 4 | "projectType": "application", 5 | "prefix": "app", 6 | "sourceRoot": "apps/mfe1/src", 7 | "tags": [], 8 | "targets": { 9 | "build": { 10 | "executor": "@nx/rspack:rspack", 11 | "outputs": ["{options.outputPath}"], 12 | "options": { 13 | "target": "web", 14 | "rspackConfig": "apps/mfe1/rspack.config.js", 15 | "outputPath": "dist/mfe1/rspack", 16 | "main": "apps/mfe1/src/main.ts", 17 | "tsConfig": "apps/mfe1/tsconfig.app.json", 18 | "assets": ["apps/mfe1/src/favicon.ico", "apps/mfe1/src/assets"] 19 | }, 20 | "configurations": { 21 | "development": { 22 | "mode": "development" 23 | }, 24 | "production": { 25 | "mode": "production", 26 | "optimization": true, 27 | "sourceMap": false 28 | } 29 | }, 30 | "defaultConfiguration": "production" 31 | }, 32 | "build-wp": { 33 | "executor": "@angular-devkit/build-angular:browser", 34 | "outputs": ["{options.outputPath}"], 35 | "options": { 36 | "outputPath": "dist/mfe1/webpack", 37 | "index": "apps/mfe1/src/index.html", 38 | "main": "apps/mfe1/src/main.ts", 39 | "polyfills": ["zone.js"], 40 | "tsConfig": "apps/mfe1/tsconfig.app.json", 41 | "assets": ["apps/mfe1/src/favicon.ico", "apps/mfe1/src/assets"], 42 | "styles": ["apps/mfe1/src/styles.css"], 43 | "scripts": [] 44 | }, 45 | "configurations": { 46 | "production": { 47 | "outputHashing": "all", 48 | "extractLicenses": false 49 | }, 50 | "development": { 51 | "buildOptimizer": false, 52 | "optimization": false, 53 | "vendorChunk": true, 54 | "extractLicenses": false, 55 | "sourceMap": true, 56 | "namedChunks": true 57 | } 58 | }, 59 | "defaultConfiguration": "production" 60 | }, 61 | "build-es": { 62 | "executor": "@nx/angular:application", 63 | "outputs": ["{options.outputPath}"], 64 | "options": { 65 | "outputPath": "dist/mfe1/esbuild", 66 | "index": "apps/mfe1/src/index.html", 67 | "browser": "apps/mfe1/src/main.ts", 68 | "polyfills": ["zone.js"], 69 | "tsConfig": "apps/mfe1/tsconfig.app.json", 70 | "assets": ["apps/mfe1/src/favicon.ico", "apps/mfe1/src/assets"], 71 | "styles": ["apps/mfe1/src/styles.css"], 72 | "scripts": [] 73 | }, 74 | "configurations": { 75 | "production": { 76 | "outputHashing": "all", 77 | "extractLicenses": false 78 | }, 79 | "development": { 80 | "optimization": false, 81 | "extractLicenses": false, 82 | "sourceMap": true 83 | } 84 | }, 85 | "defaultConfiguration": "production" 86 | }, 87 | "serve": { 88 | "executor": "@nx/rspack:dev-server", 89 | "options": { 90 | "port": 3001 91 | }, 92 | "configurations": { 93 | "development": { 94 | "buildTarget": "mfe1:build:development" 95 | } 96 | }, 97 | "defaultConfiguration": "development" 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /apps/mfe1/rspack.config.js: -------------------------------------------------------------------------------- 1 | const { composePlugins, withNx, withWeb } = require('@nx/rspack'); 2 | const { 3 | HtmlRspackPlugin, 4 | SwcJsMinimizerRspackPlugin, 5 | CopyRspackPlugin, 6 | javascript, 7 | } = require('@rspack/core'); 8 | const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); 9 | const lightningcss = require('lightningcss'); 10 | const browserslist = require('browserslist'); 11 | const terserPlugin = require('terser-webpack-plugin'); 12 | const { AngularWebpackPlugin } = require('@ngtools/webpack'); 13 | const { ProgressPlugin, CssExtractRspackPlugin } = require('@rspack/core'); 14 | const { 15 | getSupportedBrowsers, 16 | } = require('@angular-devkit/build-angular/src/utils/supported-browsers'); 17 | const { 18 | JavaScriptOptimizerPlugin, 19 | } = require('@angular-devkit/build-angular/src/tools/webpack/plugins/javascript-optimizer-plugin'); 20 | const { 21 | TransferSizePlugin, 22 | } = require('@angular-devkit/build-angular/src/tools/webpack/plugins/transfer-size-plugin'); 23 | const { 24 | CssOptimizerPlugin, 25 | } = require('@angular-devkit/build-angular/src/tools/webpack/plugins/css-optimizer-plugin'); 26 | const { ModuleFederationPlugin } = require('@module-federation/enhanced/rspack'); 27 | const path = require('path'); 28 | const { workspaceRoot } = require('@nx/devkit'); 29 | 30 | /** 31 | * Angular CLI Webpack references: 32 | * 33 | * - https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/tools/webpack/configs/common.ts 34 | * - https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/tools/webpack/configs/styles.ts 35 | */ 36 | 37 | const supportedBrowsers = getSupportedBrowsers(); 38 | 39 | module.exports = composePlugins(withNx(), withWeb(), (baseConfig, ctx) => { 40 | /** 41 | * @type {import('@rspack/cli').Configuration} 42 | */ 43 | const config = { 44 | ...baseConfig, 45 | mode: 'production', 46 | devtool: false, 47 | target: ['web', 'es2015'], 48 | entry: { 49 | polyfills: ['zone.js'], 50 | main: ['./src/main.ts'], 51 | }, 52 | resolve: { 53 | extensions: ['.ts', '.tsx', '.mjs', '.js'], 54 | modules: ['node_modules'], 55 | mainFields: ['es2020', 'es2015', 'browser', 'module', 'main'], 56 | conditionNames: ['es2020', 'es2015', '...'], 57 | }, 58 | context: __dirname, 59 | node: false, 60 | devServer: { 61 | headers: { 62 | "Access-Control-Allow-Origin": "*", 63 | "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS", 64 | "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization" 65 | }, 66 | client: { 67 | overlay: { 68 | errors: true, 69 | warnings: false, 70 | runtimeErrors: true, 71 | }, 72 | }, 73 | }, 74 | output: { 75 | uniqueName: 'mfe1', 76 | clean: true, 77 | path: path.resolve(workspaceRoot, ctx.options.outputPath), 78 | publicPath: 'http://localhost:3001/', 79 | filename: '[name].[contenthash:20].js', 80 | chunkFilename: '[name].[contenthash:20].js', 81 | crossOriginLoading: false, 82 | trustedTypes: 'angular#bundler', 83 | scriptType: 'module', 84 | }, 85 | watch: false, 86 | experiments: { 87 | asyncWebAssembly: true, 88 | topLevelAwait: false, 89 | css: true, 90 | }, 91 | module: { 92 | parser: { 93 | javascript: { 94 | requireContext: false, 95 | url: false, 96 | }, 97 | }, 98 | rules: [ 99 | // Global assets 100 | { 101 | test: /\.?(sa|sc|c)ss$/, 102 | resourceQuery: /\?ngGlobalStyle/, 103 | use: [ 104 | { 105 | loader: 'sass-loader', 106 | options: { 107 | api: 'modern-compiler', 108 | implementation: require.resolve('sass-embedded'), 109 | }, 110 | }, 111 | ], 112 | type: 'css', 113 | }, 114 | 115 | // Component templates 116 | { 117 | test: /\.?(svg|html)$/, 118 | resourceQuery: /\?ngResource/, 119 | type: 'asset/source', 120 | }, 121 | // Component styles 122 | { 123 | test: /\.?(sa|sc|c)ss$/, 124 | resourceQuery: /\?ngResource/, 125 | use: [ 126 | { 127 | loader: require.resolve('raw-loader'), 128 | }, 129 | { 130 | loader: 'sass-loader', 131 | options: { 132 | api: 'modern-compiler', 133 | implementation: require.resolve('sass-embedded'), 134 | }, 135 | }, 136 | ], 137 | }, 138 | { 139 | // Mark files inside `rxjs/add` as containing side effects. 140 | // If this is fixed upstream and the fixed version becomes the minimum 141 | // supported version, this can be removed. 142 | test: /[/\\]rxjs[/\\]add[/\\].+\.js$/, 143 | sideEffects: true, 144 | }, 145 | { 146 | test: /\.[cm]?[tj]sx?$/, 147 | // The below is needed due to a bug in `@babel/runtime`. See: https://github.com/babel/babel/issues/12824 148 | resolve: { fullySpecified: false }, 149 | exclude: [ 150 | /[\\/]node_modules[/\\](?:core-js|@babel|tslib|web-animations-js|web-streams-polyfill|whatwg-url)[/\\]/, 151 | ], 152 | use: [ 153 | { 154 | loader: require.resolve( 155 | '@angular-devkit/build-angular/src/tools/babel/webpack-loader.js' 156 | ), 157 | options: { 158 | cacheDirectory: false, 159 | aot: true, 160 | optimize: true, 161 | supportedBrowsers, 162 | }, 163 | }, 164 | ], 165 | }, 166 | { 167 | test: /\.[cm]?tsx?$/, 168 | use: [ 169 | { loader: require.resolve('@ngtools/webpack/src/ivy/index.js') }, 170 | ], 171 | exclude: [ 172 | /[\\/]node_modules[/\\](?:css-loader|mini-css-extract-plugin|webpack-dev-server|webpack)[/\\]/, 173 | ], 174 | }, 175 | ], 176 | }, 177 | optimization: { 178 | minimize: true, 179 | minimizer: [ 180 | new JavaScriptOptimizerPlugin({ 181 | advanced: true, 182 | define: { 183 | ngDevMode: false, 184 | ngI18nClosureMode: false, 185 | ngJitMode: false, 186 | }, 187 | keepIdentifierNames: false, 188 | removeLicenses: true, 189 | sourcemap: false, 190 | }), 191 | new TransferSizePlugin(), 192 | new CssOptimizerPlugin(), 193 | ], 194 | }, 195 | plugins: [ 196 | new StylesWebpackPlugin({ 197 | root: __dirname, 198 | entryPoints: { 199 | styles: ['src/styles.css'], 200 | }, 201 | preserveSymlinks: false, 202 | }), 203 | new CopyRspackPlugin({ 204 | patterns: [ 205 | { 206 | from: 'src/assets', 207 | to: '.', 208 | globOptions: { 209 | dot: false, 210 | }, 211 | noErrorOnMissing: true, 212 | }, 213 | { 214 | from: 'src/favicon.ico', 215 | to: '.', 216 | }, 217 | ], 218 | }), 219 | new ProgressPlugin(), 220 | new CssExtractRspackPlugin(), 221 | new HtmlRspackPlugin({ 222 | minify: false, 223 | inject: 'body', 224 | scriptLoading: 'module', 225 | template: 'src/index.html', 226 | }), 227 | new AngularWebpackPlugin({ 228 | tsconfig: path.resolve(__dirname, 'tsconfig.app.json'), 229 | emitClassMetadata: false, 230 | emitNgModuleScope: false, 231 | jitMode: false, 232 | directTemplateLoading: true, 233 | compilerOptions: { 234 | sourceMap: false, 235 | declaration: false, 236 | declarationMap: false, 237 | preserveSymlinks: false, 238 | }, 239 | inlineStyleFileExtension: 'css', 240 | }), 241 | new ModuleFederationPlugin({ 242 | name: 'mfe1', 243 | exposes: { 244 | './app': './src/app/app.component.ts' 245 | }, 246 | shared: ['@angular/core', '@angular/common', '@angular/router'], 247 | }), 248 | ], 249 | }; 250 | 251 | return config; 252 | }); 253 | 254 | /** 255 | * Ported from Angular CLI Webpack plugin. 256 | * https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/tools/webpack/plugins/styles-webpack-plugin.ts 257 | */ 258 | class StylesWebpackPlugin { 259 | options; 260 | compilation; 261 | constructor(options) { 262 | this.options = options; 263 | } 264 | apply(compiler) { 265 | const { entryPoints, preserveSymlinks, root } = this.options; 266 | const resolver = compiler.resolverFactory.get('global-styles', { 267 | conditionNames: ['sass', 'less', 'style'], 268 | mainFields: ['sass', 'less', 'style', 'main', '...'], 269 | extensions: ['.scss', '.sass', '.less', '.css'], 270 | restrictions: [/\.((le|sa|sc|c)ss)$/i], 271 | preferRelative: true, 272 | useSyncFileSystemCalls: true, 273 | symlinks: !preserveSymlinks, 274 | fileSystem: compiler.inputFileSystem, 275 | }); 276 | const webpackOptions = compiler.options; 277 | compiler.hooks.environment.tap('styles-webpack-plugin', () => { 278 | const entrypoints = webpackOptions.entry; 279 | for (const [bundleName, paths] of Object.entries(entryPoints)) { 280 | entrypoints[bundleName] ??= {}; 281 | const entryImport = (entrypoints[bundleName].import ??= []); 282 | for (const path of paths) { 283 | try { 284 | const resolvedPath = resolver.resolveSync({}, root, path); 285 | if (resolvedPath) { 286 | entryImport.push(`${resolvedPath}?ngGlobalStyle`); 287 | } else { 288 | console.error('Compilation cannot be undefined.'); 289 | throw new Error(`Cannot resolve '${path}'.`); 290 | } 291 | } catch (error) { 292 | console.error('Compilation cannot be undefined.'); 293 | throw error; 294 | } 295 | } 296 | } 297 | return entrypoints; 298 | }); 299 | compiler.hooks.thisCompilation.tap( 300 | 'styles-webpack-plugin', 301 | (compilation) => { 302 | this.compilation = compilation; 303 | } 304 | ); 305 | } 306 | } 307 | -------------------------------------------------------------------------------- /apps/mfe1/src/app/app.component.html: -------------------------------------------------------------------------------- 1 |

{{ title }}

2 | 3 |

4 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec nisl et elit dignissim cursus malesuada ac erat. Duis ac est at mauris euismod tempus. Curabitur a tristique est, a lacinia quam. Nulla finibus turpis in mauris consequat, vel placerat dolor fermentum. Vivamus ac tellus finibus, venenatis sapien mattis, interdum tellus. Phasellus lacinia metus ac fringilla dictum. In mollis tincidunt eros ut rutrum.

5 | -------------------------------------------------------------------------------- /apps/mfe1/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | h2 { 2 | font-size: 1.4rem; 3 | margin-bottom: 2rem; 4 | margin-top: 1rem; 5 | text-decoration: underline; 6 | } 7 | 8 | img { 9 | width: 96px; 10 | display: inline-block; 11 | margin: 0 8px; 12 | } 13 | 14 | section { 15 | display: flex; 16 | justify-content: center; 17 | align-items: center; 18 | flex-direction: row-reverse; 19 | } 20 | -------------------------------------------------------------------------------- /apps/mfe1/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | standalone: true, 5 | selector: 'app-root', 6 | templateUrl: './app.component.html', 7 | styleUrl: './app.component.scss', 8 | }) 9 | export class AppComponent { 10 | title = 'mfe1'; 11 | } 12 | -------------------------------------------------------------------------------- /apps/mfe1/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edbzn/ng-rspack/728cb9196a6a6fa22ce2f4b0cf2c8cbc644dc6cb/apps/mfe1/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/mfe1/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edbzn/ng-rspack/728cb9196a6a6fa22ce2f4b0cf2c8cbc644dc6cb/apps/mfe1/src/favicon.ico -------------------------------------------------------------------------------- /apps/mfe1/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ng-rspack 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/mfe1/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { AppComponent } from './app/app.component'; 3 | 4 | bootstrapApplication(AppComponent).catch((err) => 5 | console.error(err) 6 | ); 7 | -------------------------------------------------------------------------------- /apps/mfe1/src/styles.css: -------------------------------------------------------------------------------- 1 | body, 2 | html { 3 | margin: 0; 4 | padding: 0; 5 | font-family: 'Roboto', sans-serif; 6 | background-color: #f0f0f0; 7 | } 8 | -------------------------------------------------------------------------------- /apps/mfe1/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts"], 8 | "include": ["src/**/*.d.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/mfe1/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["src/**/*.ts"], 4 | "compilerOptions": {}, 5 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 6 | } 7 | -------------------------------------------------------------------------------- /apps/mfe1/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "useDefineForClassFields": false, 4 | "forceConsistentCasingInFileNames": true, 5 | "strict": true, 6 | "noImplicitOverride": true, 7 | "noPropertyAccessFromIndexSignature": true, 8 | "noImplicitReturns": true, 9 | "noFallthroughCasesInSwitch": true 10 | }, 11 | "files": [], 12 | "include": [], 13 | "references": [ 14 | { 15 | "path": "./tsconfig.editor.json" 16 | }, 17 | { 18 | "path": "./tsconfig.app.json" 19 | } 20 | ], 21 | "angularCompilerOptions": { 22 | "enableI18nLegacyMessageIdFormat": false, 23 | "strictInjectionParameters": true, 24 | "strictInputAccessModifiers": true, 25 | "strictTemplates": true 26 | }, 27 | "extends": "../../tsconfig.base.json" 28 | } 29 | -------------------------------------------------------------------------------- /apps/mfe2/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mfe2", 3 | "$schema": "../../node_modules/nx/schemas/project-schema.json", 4 | "projectType": "application", 5 | "prefix": "app", 6 | "sourceRoot": "apps/mfe2/src", 7 | "tags": [], 8 | "targets": { 9 | "build": { 10 | "executor": "@nx/rspack:rspack", 11 | "outputs": ["{options.outputPath}"], 12 | "options": { 13 | "target": "web", 14 | "rspackConfig": "apps/mfe2/rspack.config.js", 15 | "outputPath": "dist/mfe2/rspack", 16 | "main": "apps/mfe2/src/main.ts", 17 | "tsConfig": "apps/mfe2/tsconfig.app.json", 18 | "assets": ["apps/mfe2/src/favicon.ico", "apps/mfe2/src/assets"] 19 | }, 20 | "configurations": { 21 | "development": { 22 | "mode": "development" 23 | }, 24 | "production": { 25 | "mode": "production", 26 | "optimization": true, 27 | "sourceMap": false 28 | } 29 | }, 30 | "defaultConfiguration": "production" 31 | }, 32 | "build-wp": { 33 | "executor": "@angular-devkit/build-angular:browser", 34 | "outputs": ["{options.outputPath}"], 35 | "options": { 36 | "outputPath": "dist/mfe2/webpack", 37 | "index": "apps/mfe2/src/index.html", 38 | "main": "apps/mfe2/src/main.ts", 39 | "polyfills": ["zone.js"], 40 | "tsConfig": "apps/mfe2/tsconfig.app.json", 41 | "assets": ["apps/mfe2/src/favicon.ico", "apps/mfe2/src/assets"], 42 | "styles": ["apps/mfe2/src/styles.css"], 43 | "scripts": [] 44 | }, 45 | "configurations": { 46 | "production": { 47 | "outputHashing": "all", 48 | "extractLicenses": false 49 | }, 50 | "development": { 51 | "buildOptimizer": false, 52 | "optimization": false, 53 | "vendorChunk": true, 54 | "extractLicenses": false, 55 | "sourceMap": true, 56 | "namedChunks": true 57 | } 58 | }, 59 | "defaultConfiguration": "production" 60 | }, 61 | "build-es": { 62 | "executor": "@nx/angular:application", 63 | "outputs": ["{options.outputPath}"], 64 | "options": { 65 | "outputPath": "dist/mfe2/esbuild", 66 | "index": "apps/mfe2/src/index.html", 67 | "browser": "apps/mfe2/src/main.ts", 68 | "polyfills": ["zone.js"], 69 | "tsConfig": "apps/mfe2/tsconfig.app.json", 70 | "assets": ["apps/mfe2/src/favicon.ico", "apps/mfe2/src/assets"], 71 | "styles": ["apps/mfe2/src/styles.css"], 72 | "scripts": [] 73 | }, 74 | "configurations": { 75 | "production": { 76 | "outputHashing": "all", 77 | "extractLicenses": false 78 | }, 79 | "development": { 80 | "optimization": false, 81 | "extractLicenses": false, 82 | "sourceMap": true 83 | } 84 | }, 85 | "defaultConfiguration": "production" 86 | }, 87 | "serve": { 88 | "executor": "@nx/rspack:dev-server", 89 | "options": { 90 | "port": 3002 91 | }, 92 | "configurations": { 93 | "development": { 94 | "buildTarget": "mfe2:build:development" 95 | } 96 | }, 97 | "defaultConfiguration": "development" 98 | } 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /apps/mfe2/rspack.config.js: -------------------------------------------------------------------------------- 1 | const { composePlugins, withNx, withWeb } = require('@nx/rspack'); 2 | const { 3 | HtmlRspackPlugin, 4 | SwcJsMinimizerRspackPlugin, 5 | CopyRspackPlugin, 6 | javascript, 7 | } = require('@rspack/core'); 8 | const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); 9 | const lightningcss = require('lightningcss'); 10 | const browserslist = require('browserslist'); 11 | const terserPlugin = require('terser-webpack-plugin'); 12 | const { AngularWebpackPlugin } = require('@ngtools/webpack'); 13 | const { ProgressPlugin, CssExtractRspackPlugin } = require('@rspack/core'); 14 | const { 15 | getSupportedBrowsers, 16 | } = require('@angular-devkit/build-angular/src/utils/supported-browsers'); 17 | const { 18 | JavaScriptOptimizerPlugin, 19 | } = require('@angular-devkit/build-angular/src/tools/webpack/plugins/javascript-optimizer-plugin'); 20 | const { 21 | TransferSizePlugin, 22 | } = require('@angular-devkit/build-angular/src/tools/webpack/plugins/transfer-size-plugin'); 23 | const { 24 | CssOptimizerPlugin, 25 | } = require('@angular-devkit/build-angular/src/tools/webpack/plugins/css-optimizer-plugin'); 26 | const { ModuleFederationPlugin } = require('@module-federation/enhanced/rspack'); 27 | const path = require('path'); 28 | const { workspaceRoot } = require('@nx/devkit'); 29 | 30 | /** 31 | * Angular CLI Webpack references: 32 | * 33 | * - https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/tools/webpack/configs/common.ts 34 | * - https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/tools/webpack/configs/styles.ts 35 | */ 36 | 37 | const supportedBrowsers = getSupportedBrowsers(); 38 | 39 | module.exports = composePlugins(withNx(), withWeb(), (baseConfig, ctx) => { 40 | /** 41 | * @type {import('@rspack/cli').Configuration} 42 | */ 43 | const config = { 44 | ...baseConfig, 45 | mode: 'production', 46 | devtool: false, 47 | target: ['web', 'es2015'], 48 | entry: { 49 | polyfills: ['zone.js'], 50 | main: ['./src/main.ts'], 51 | }, 52 | resolve: { 53 | extensions: ['.ts', '.tsx', '.mjs', '.js'], 54 | modules: ['node_modules'], 55 | mainFields: ['es2020', 'es2015', 'browser', 'module', 'main'], 56 | conditionNames: ['es2020', 'es2015', '...'], 57 | }, 58 | context: __dirname, 59 | node: false, 60 | devServer: { 61 | headers: { 62 | "Access-Control-Allow-Origin": "*", 63 | "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS", 64 | "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization" 65 | }, 66 | client: { 67 | overlay: { 68 | errors: true, 69 | warnings: false, 70 | runtimeErrors: true, 71 | }, 72 | }, 73 | }, 74 | output: { 75 | uniqueName: 'mfe2', 76 | clean: true, 77 | path: path.resolve(workspaceRoot, ctx.options.outputPath), 78 | publicPath: 'http://localhost:3002/', 79 | filename: '[name].[contenthash:20].js', 80 | chunkFilename: '[name].[contenthash:20].js', 81 | crossOriginLoading: false, 82 | trustedTypes: 'angular#bundler', 83 | scriptType: 'module', 84 | }, 85 | watch: false, 86 | experiments: { 87 | asyncWebAssembly: true, 88 | topLevelAwait: false, 89 | css: true, 90 | }, 91 | module: { 92 | parser: { 93 | javascript: { 94 | requireContext: false, 95 | url: false, 96 | }, 97 | }, 98 | rules: [ 99 | // Global assets 100 | { 101 | test: /\.?(sa|sc|c)ss$/, 102 | resourceQuery: /\?ngGlobalStyle/, 103 | use: [ 104 | { 105 | loader: 'sass-loader', 106 | options: { 107 | api: 'modern-compiler', 108 | implementation: require.resolve('sass-embedded'), 109 | }, 110 | }, 111 | ], 112 | type: 'css', 113 | }, 114 | 115 | // Component templates 116 | { 117 | test: /\.?(svg|html)$/, 118 | resourceQuery: /\?ngResource/, 119 | type: 'asset/source', 120 | }, 121 | // Component styles 122 | { 123 | test: /\.?(sa|sc|c)ss$/, 124 | resourceQuery: /\?ngResource/, 125 | use: [ 126 | { 127 | loader: require.resolve('raw-loader'), 128 | }, 129 | { 130 | loader: 'sass-loader', 131 | options: { 132 | api: 'modern-compiler', 133 | implementation: require.resolve('sass-embedded'), 134 | }, 135 | }, 136 | ], 137 | }, 138 | { 139 | // Mark files inside `rxjs/add` as containing side effects. 140 | // If this is fixed upstream and the fixed version becomes the minimum 141 | // supported version, this can be removed. 142 | test: /[/\\]rxjs[/\\]add[/\\].+\.js$/, 143 | sideEffects: true, 144 | }, 145 | { 146 | test: /\.[cm]?[tj]sx?$/, 147 | // The below is needed due to a bug in `@babel/runtime`. See: https://github.com/babel/babel/issues/12824 148 | resolve: { fullySpecified: false }, 149 | exclude: [ 150 | /[\\/]node_modules[/\\](?:core-js|@babel|tslib|web-animations-js|web-streams-polyfill|whatwg-url)[/\\]/, 151 | ], 152 | use: [ 153 | { 154 | loader: require.resolve( 155 | '@angular-devkit/build-angular/src/tools/babel/webpack-loader.js' 156 | ), 157 | options: { 158 | cacheDirectory: false, 159 | aot: true, 160 | optimize: true, 161 | supportedBrowsers, 162 | }, 163 | }, 164 | ], 165 | }, 166 | { 167 | test: /\.[cm]?tsx?$/, 168 | use: [ 169 | { loader: require.resolve('@ngtools/webpack/src/ivy/index.js') }, 170 | ], 171 | exclude: [ 172 | /[\\/]node_modules[/\\](?:css-loader|mini-css-extract-plugin|webpack-dev-server|webpack)[/\\]/, 173 | ], 174 | }, 175 | ], 176 | }, 177 | optimization: { 178 | minimize: true, 179 | minimizer: [ 180 | new JavaScriptOptimizerPlugin({ 181 | advanced: true, 182 | define: { 183 | ngDevMode: false, 184 | ngI18nClosureMode: false, 185 | ngJitMode: false, 186 | }, 187 | keepIdentifierNames: false, 188 | removeLicenses: true, 189 | sourcemap: false, 190 | }), 191 | new TransferSizePlugin(), 192 | new CssOptimizerPlugin(), 193 | ], 194 | }, 195 | plugins: [ 196 | new StylesWebpackPlugin({ 197 | root: __dirname, 198 | entryPoints: { 199 | styles: ['src/styles.css'], 200 | }, 201 | preserveSymlinks: false, 202 | }), 203 | new CopyRspackPlugin({ 204 | patterns: [ 205 | { 206 | from: 'src/assets', 207 | to: '.', 208 | globOptions: { 209 | dot: false, 210 | }, 211 | noErrorOnMissing: true, 212 | }, 213 | { 214 | from: 'src/favicon.ico', 215 | to: '.', 216 | }, 217 | ], 218 | }), 219 | new ProgressPlugin(), 220 | new CssExtractRspackPlugin(), 221 | new HtmlRspackPlugin({ 222 | minify: false, 223 | inject: 'body', 224 | scriptLoading: 'module', 225 | template: 'src/index.html', 226 | }), 227 | new AngularWebpackPlugin({ 228 | tsconfig: path.resolve(__dirname, 'tsconfig.app.json'), 229 | emitClassMetadata: false, 230 | emitNgModuleScope: false, 231 | jitMode: false, 232 | directTemplateLoading: true, 233 | compilerOptions: { 234 | sourceMap: false, 235 | declaration: false, 236 | declarationMap: false, 237 | preserveSymlinks: false, 238 | }, 239 | inlineStyleFileExtension: 'css', 240 | }), 241 | new ModuleFederationPlugin({ 242 | name: 'mfe2', 243 | exposes: { 244 | './app': './src/app/app.component.ts' 245 | }, 246 | shared: ['@angular/core', '@angular/common', '@angular/router'], 247 | }), 248 | ], 249 | }; 250 | 251 | return config; 252 | }); 253 | 254 | /** 255 | * Ported from Angular CLI Webpack plugin. 256 | * https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/tools/webpack/plugins/styles-webpack-plugin.ts 257 | */ 258 | class StylesWebpackPlugin { 259 | options; 260 | compilation; 261 | constructor(options) { 262 | this.options = options; 263 | } 264 | apply(compiler) { 265 | const { entryPoints, preserveSymlinks, root } = this.options; 266 | const resolver = compiler.resolverFactory.get('global-styles', { 267 | conditionNames: ['sass', 'less', 'style'], 268 | mainFields: ['sass', 'less', 'style', 'main', '...'], 269 | extensions: ['.scss', '.sass', '.less', '.css'], 270 | restrictions: [/\.((le|sa|sc|c)ss)$/i], 271 | preferRelative: true, 272 | useSyncFileSystemCalls: true, 273 | symlinks: !preserveSymlinks, 274 | fileSystem: compiler.inputFileSystem, 275 | }); 276 | const webpackOptions = compiler.options; 277 | compiler.hooks.environment.tap('styles-webpack-plugin', () => { 278 | const entrypoints = webpackOptions.entry; 279 | for (const [bundleName, paths] of Object.entries(entryPoints)) { 280 | entrypoints[bundleName] ??= {}; 281 | const entryImport = (entrypoints[bundleName].import ??= []); 282 | for (const path of paths) { 283 | try { 284 | const resolvedPath = resolver.resolveSync({}, root, path); 285 | if (resolvedPath) { 286 | entryImport.push(`${resolvedPath}?ngGlobalStyle`); 287 | } else { 288 | console.error('Compilation cannot be undefined.'); 289 | throw new Error(`Cannot resolve '${path}'.`); 290 | } 291 | } catch (error) { 292 | console.error('Compilation cannot be undefined.'); 293 | throw error; 294 | } 295 | } 296 | } 297 | return entrypoints; 298 | }); 299 | compiler.hooks.thisCompilation.tap( 300 | 'styles-webpack-plugin', 301 | (compilation) => { 302 | this.compilation = compilation; 303 | } 304 | ); 305 | } 306 | } 307 | -------------------------------------------------------------------------------- /apps/mfe2/src/app/app.component.html: -------------------------------------------------------------------------------- 1 |

{{ title }}

2 | 3 |

Mauris mollis dictum augue sed dictum. Integer fringilla, quam a elementum faucibus, turpis ipsum placerat mauris, aliquam tincidunt dui magna in nisi. Duis tincidunt urna vitae tortor venenatis, et sollicitudin quam pharetra. Integer pretium massa ligula, facilisis gravida massa varius ac. Aliquam gravida, arcu id lacinia tincidunt, odio ex commodo massa, et tincidunt tortor felis in nisl. Mauris nec ligula eget nisl aliquet rhoncus. Mauris laoreet vehicula maximus.

4 | -------------------------------------------------------------------------------- /apps/mfe2/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | h2 { 2 | font-size: 1.4rem; 3 | margin-bottom: 2rem; 4 | margin-top: 1rem; 5 | text-decoration: underline; 6 | } 7 | 8 | img { 9 | width: 96px; 10 | display: inline-block; 11 | margin: 0 8px; 12 | } 13 | 14 | section { 15 | display: flex; 16 | justify-content: center; 17 | align-items: center; 18 | flex-direction: row-reverse; 19 | } 20 | -------------------------------------------------------------------------------- /apps/mfe2/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | standalone: true, 5 | selector: 'app-root', 6 | templateUrl: './app.component.html', 7 | styleUrl: './app.component.scss', 8 | }) 9 | export class AppComponent { 10 | title = 'mfe2'; 11 | } 12 | -------------------------------------------------------------------------------- /apps/mfe2/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edbzn/ng-rspack/728cb9196a6a6fa22ce2f4b0cf2c8cbc644dc6cb/apps/mfe2/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/mfe2/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edbzn/ng-rspack/728cb9196a6a6fa22ce2f4b0cf2c8cbc644dc6cb/apps/mfe2/src/favicon.ico -------------------------------------------------------------------------------- /apps/mfe2/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ng-rspack 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/mfe2/src/main.ts: -------------------------------------------------------------------------------- 1 | import { bootstrapApplication } from '@angular/platform-browser'; 2 | import { AppComponent } from './app/app.component'; 3 | 4 | bootstrapApplication(AppComponent).catch((err) => 5 | console.error(err) 6 | ); 7 | -------------------------------------------------------------------------------- /apps/mfe2/src/styles.css: -------------------------------------------------------------------------------- 1 | body, 2 | html { 3 | margin: 0; 4 | padding: 0; 5 | font-family: 'Roboto', sans-serif; 6 | background-color: #f0f0f0; 7 | } 8 | -------------------------------------------------------------------------------- /apps/mfe2/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts"], 8 | "include": ["src/**/*.d.ts"], 9 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/mfe2/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["src/**/*.ts"], 4 | "compilerOptions": {}, 5 | "exclude": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts"] 6 | } 7 | -------------------------------------------------------------------------------- /apps/mfe2/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "useDefineForClassFields": false, 4 | "forceConsistentCasingInFileNames": true, 5 | "strict": true, 6 | "noImplicitOverride": true, 7 | "noPropertyAccessFromIndexSignature": true, 8 | "noImplicitReturns": true, 9 | "noFallthroughCasesInSwitch": true 10 | }, 11 | "files": [], 12 | "include": [], 13 | "references": [ 14 | { 15 | "path": "./tsconfig.editor.json" 16 | }, 17 | { 18 | "path": "./tsconfig.app.json" 19 | } 20 | ], 21 | "angularCompilerOptions": { 22 | "enableI18nLegacyMessageIdFormat": false, 23 | "strictInjectionParameters": true, 24 | "strictInputAccessModifiers": true, 25 | "strictTemplates": true 26 | }, 27 | "extends": "../../tsconfig.base.json" 28 | } 29 | -------------------------------------------------------------------------------- /build.log: -------------------------------------------------------------------------------- 1 | total 480K 2 | drwxr-xr-x 2 runner docker 4.0K May 1 11:07 . 3 | drwxr-xr-x 3 runner docker 4.0K May 1 11:07 .. 4 | -rw-r--r-- 1 runner docker 566 May 1 11:07 index.html 5 | -rw-r--r-- 1 runner docker 422K May 1 11:07 main.a3ed9c5b82f3d83228d8.js 6 | -rw-r--r-- 1 runner docker 33K May 1 11:07 polyfills.61249712ff98a87fea6a.js 7 | -rw-r--r-- 1 runner docker 499 May 1 11:07 styles.1620bfe86cca3951a762.js 8 | -rw-r--r-- 1 runner docker 86 May 1 11:07 styles.ea198d9757440874694a.css 9 | total 480K 10 | drwxr-xr-x 2 runner docker 4.0K May 1 11:11 . 11 | drwxr-xr-x 3 runner docker 4.0K May 1 11:11 .. 12 | -rw-r--r-- 1 runner docker 566 May 1 11:11 index.html 13 | -rw-r--r-- 1 runner docker 422K May 1 11:11 main.a3ed9c5b82f3d83228d8.js 14 | -rw-r--r-- 1 runner docker 33K May 1 11:11 polyfills.61249712ff98a87fea6a.js 15 | -rw-r--r-- 1 runner docker 499 May 1 11:11 styles.1620bfe86cca3951a762.js 16 | -rw-r--r-- 1 runner docker 86 May 1 11:11 styles.ea198d9757440874694a.css 17 | total 480K 18 | drwxr-xr-x 2 runner docker 4.0K May 1 11:56 . 19 | drwxr-xr-x 3 runner docker 4.0K May 1 11:56 .. 20 | -rw-r--r-- 1 runner docker 566 May 1 11:56 index.html 21 | -rw-r--r-- 1 runner docker 421K May 1 11:56 main.bc68a9280c84297332b5.js 22 | -rw-r--r-- 1 runner docker 33K May 1 11:56 polyfills.60fe1a4e932056ef2c8f.js 23 | -rw-r--r-- 1 runner docker 499 May 1 11:56 styles.1620bfe86cca3951a762.js 24 | -rw-r--r-- 1 runner docker 86 May 1 11:56 styles.ea198d9757440874694a.css 25 | total 480K 26 | drwxr-xr-x 2 runner docker 4.0K May 1 11:59 . 27 | drwxr-xr-x 3 runner docker 4.0K May 1 11:59 .. 28 | -rw-r--r-- 1 runner docker 566 May 1 11:59 index.html 29 | -rw-r--r-- 1 runner docker 421K May 1 11:59 main.f45a5ed4b2cda7770f92.js 30 | -rw-r--r-- 1 runner docker 33K May 1 11:59 polyfills.20dc7a7b65695a6fa4c7.js 31 | -rw-r--r-- 1 runner docker 499 May 1 11:59 styles.1620bfe86cca3951a762.js 32 | -rw-r--r-- 1 runner docker 84 May 1 11:59 styles.8caa6477d1586f6b9492.css 33 | total 480K 34 | drwxr-xr-x 2 runner docker 4.0K May 1 12:36 . 35 | drwxr-xr-x 3 runner docker 4.0K May 1 12:36 .. 36 | -rw-r--r-- 1 runner docker 455 May 1 12:36 index.html 37 | -rw-r--r-- 1 runner docker 421K May 1 12:36 main.f45a5ed4b2cda7770f92.js 38 | -rw-r--r-- 1 runner docker 33K May 1 12:36 polyfills.20dc7a7b65695a6fa4c7.js 39 | -rw-r--r-- 1 runner docker 499 May 1 12:36 styles.1620bfe86cca3951a762.js 40 | -rw-r--r-- 1 runner docker 84 May 1 12:36 styles.8caa6477d1586f6b9492.css 41 | total 480K 42 | drwxr-xr-x 2 runner docker 4.0K May 1 12:49 . 43 | drwxr-xr-x 3 runner docker 4.0K May 1 12:49 .. 44 | -rw-r--r-- 1 runner docker 455 May 1 12:49 index.html 45 | -rw-r--r-- 1 runner docker 421K May 1 12:49 main.f45a5ed4b2cda7770f92.js 46 | -rw-r--r-- 1 runner docker 33K May 1 12:49 polyfills.20dc7a7b65695a6fa4c7.js 47 | -rw-r--r-- 1 runner docker 499 May 1 12:49 styles.1620bfe86cca3951a762.js 48 | -rw-r--r-- 1 runner docker 84 May 1 12:49 styles.8caa6477d1586f6b9492.css 49 | total 480K 50 | drwxr-xr-x 2 runner docker 4.0K May 1 12:50 . 51 | drwxr-xr-x 3 runner docker 4.0K May 1 12:50 .. 52 | -rw-r--r-- 1 runner docker 455 May 1 12:50 index.html 53 | -rw-r--r-- 1 runner docker 421K May 1 12:50 main.f45a5ed4b2cda7770f92.js 54 | -rw-r--r-- 1 runner docker 33K May 1 12:50 polyfills.20dc7a7b65695a6fa4c7.js 55 | -rw-r--r-- 1 runner docker 499 May 1 12:50 styles.1620bfe86cca3951a762.js 56 | -rw-r--r-- 1 runner docker 84 May 1 12:50 styles.8caa6477d1586f6b9492.css 57 | 58 | NX Running targets build, build-wp, build-es for project ng-rspack: 59 | 60 | - ng-rspack 61 | 62 | 63 | 64 | ::group::✅ > nx run ng-rspack:build-es:production 65 | 66 | - Building... 67 | 68 | Initial chunk files | Names | Raw size | Estimated transfer size 69 | main-MNAIRYWO.js | main | 180.65 kB | 48.62 kB 70 | polyfills-7NI4OVGA.js | polyfills | 33.10 kB | 10.72 kB 71 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 72 | 73 | | Initial total | 213.84 kB | 59.42 kB 74 | 75 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 76 | 77 | Application bundle generation complete. [10.382 seconds] 78 | 79 | ::endgroup:: 80 | ::group::✅ > nx run ng-rspack:build:production 81 | 82 | PublicPath: (none) 83 | asset index.html 455 bytes [emitted] 84 | asset main.f45a5ed4b2cda7770f92.js 421 KiB [emitted] (name: main) 85 | asset polyfills.20dc7a7b65695a6fa4c7.js 32.8 KiB [emitted] (name: polyfills) 86 | asset styles.1620bfe86cca3951a762.js 499 bytes [emitted] (name: styles) 87 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 88 | Entrypoint styles 583 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.1620bfe86cca3951a762.js 499 bytes 89 | Entrypoint polyfills 32.8 KiB = polyfills.20dc7a7b65695a6fa4c7.js 90 | Entrypoint main 421 KiB = main.f45a5ed4b2cda7770f92.js 91 | orphan modules [orphan] 149 modules 92 | runtime modules 7 modules 93 | + 91 modules 94 | Rspack 0.6.3 compiled successfully in 13.12 s (389a9154226210f70563) 95 | ::endgroup:: 96 | ::group::✅ > nx run ng-rspack:build-wp:production 97 | 98 | - Generating browser application bundles (phase: setup)... 99 | ✔ Browser application bundle generation complete. 100 | ✔ Browser application bundle generation complete. 101 | - Copying assets... 102 | ✔ Copying assets complete. 103 | - Generating index html... 104 | ✔ Index html generation complete. 105 | 106 | Initial chunk files | Names | Raw size | Estimated transfer size 107 | main.e68e7cbf8feae6b6.js | main | 179.83 kB | 48.18 kB 108 | polyfills.217bf7d4eff80d0e.js | polyfills | 33.37 kB | 10.73 kB 109 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 110 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 111 | 112 | | Initial total | 214.16 kB | 59.46 kB 113 | 114 | Build at: 2024-05-02T09:27:50.404Z - Hash: 610c6efabecb6db3 - Time: 17132ms 115 | ::endgroup:: 116 | 117 | 118 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 119 | 120 | 121 | total 480K 122 | drwxr-xr-x 2 runner docker 4.0K May 2 09:27 . 123 | drwxr-xr-x 5 runner docker 4.0K May 2 09:27 .. 124 | -rw-r--r-- 1 runner docker 455 May 2 09:27 index.html 125 | -rw-r--r-- 1 runner docker 421K May 2 09:27 main.f45a5ed4b2cda7770f92.js 126 | -rw-r--r-- 1 runner docker 33K May 2 09:27 polyfills.20dc7a7b65695a6fa4c7.js 127 | -rw-r--r-- 1 runner docker 499 May 2 09:27 styles.1620bfe86cca3951a762.js 128 | -rw-r--r-- 1 runner docker 84 May 2 09:27 styles.8caa6477d1586f6b9492.css 129 | total 268K 130 | drwxr-xr-x 2 runner docker 4.0K May 2 09:27 . 131 | drwxr-xr-x 5 runner docker 4.0K May 2 09:27 .. 132 | -rw-r--r-- 1 runner docker 13K May 2 09:27 3rdpartylicenses.txt 133 | -rw-r--r-- 1 runner docker 15K May 2 09:27 favicon.ico 134 | -rw-r--r-- 1 runner docker 809 May 2 09:27 index.html 135 | -rw-r--r-- 1 runner docker 180K May 2 09:27 main.e68e7cbf8feae6b6.js 136 | -rw-r--r-- 1 runner docker 34K May 2 09:27 polyfills.217bf7d4eff80d0e.js 137 | -rw-r--r-- 1 runner docker 896 May 2 09:27 runtime.6c9861ca6e26c512.js 138 | -rw-r--r-- 1 runner docker 85 May 2 09:27 styles.9cc1c87275a936d2.css 139 | total 28K 140 | drwxr-xr-x 3 runner docker 4.0K May 2 09:27 . 141 | drwxr-xr-x 5 runner docker 4.0K May 2 09:27 .. 142 | -rw-r--r-- 1 runner docker 14K May 2 09:27 3rdpartylicenses.txt 143 | drwxr-xr-x 2 runner docker 4.0K May 2 09:27 browser 144 | 145 | NX Running targets build, build-wp, build-es for project ng-rspack: 146 | 147 | - ng-rspack 148 | 149 | 150 | 151 | ::group::✅ > nx run ng-rspack:build-es:production 152 | 153 | - Building... 154 | 155 | Initial chunk files | Names | Raw size | Estimated transfer size 156 | main-MNAIRYWO.js | main | 180.65 kB | 48.62 kB 157 | polyfills-7NI4OVGA.js | polyfills | 33.10 kB | 10.72 kB 158 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 159 | 160 | | Initial total | 213.84 kB | 59.42 kB 161 | 162 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 163 | 164 | Application bundle generation complete. [10.613 seconds] 165 | 166 | ::endgroup:: 167 | ::group::✅ > nx run ng-rspack:build:production 168 | 169 | PublicPath: (none) 170 | asset index.html 455 bytes [emitted] 171 | asset main.f45a5ed4b2cda7770f92.js 421 KiB [emitted] (name: main) 172 | asset polyfills.20dc7a7b65695a6fa4c7.js 32.8 KiB [emitted] (name: polyfills) 173 | asset styles.1620bfe86cca3951a762.js 499 bytes [emitted] (name: styles) 174 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 175 | Entrypoint styles 583 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.1620bfe86cca3951a762.js 499 bytes 176 | Entrypoint polyfills 32.8 KiB = polyfills.20dc7a7b65695a6fa4c7.js 177 | Entrypoint main 421 KiB = main.f45a5ed4b2cda7770f92.js 178 | orphan modules [orphan] 149 modules 179 | runtime modules 7 modules 180 | + 91 modules 181 | Rspack 0.6.3 compiled successfully in 13.51 s (389a9154226210f70563) 182 | ::endgroup:: 183 | ::group::✅ > nx run ng-rspack:build-wp:production 184 | 185 | - Generating browser application bundles (phase: setup)... 186 | ✔ Browser application bundle generation complete. 187 | ✔ Browser application bundle generation complete. 188 | - Copying assets... 189 | ✔ Copying assets complete. 190 | - Generating index html... 191 | ✔ Index html generation complete. 192 | 193 | Initial chunk files | Names | Raw size | Estimated transfer size 194 | main.e68e7cbf8feae6b6.js | main | 179.83 kB | 48.18 kB 195 | polyfills.217bf7d4eff80d0e.js | polyfills | 33.37 kB | 10.73 kB 196 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 197 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 198 | 199 | | Initial total | 214.16 kB | 59.46 kB 200 | 201 | Build at: 2024-05-02T09:29:26.131Z - Hash: 610c6efabecb6db3 - Time: 17640ms 202 | ::endgroup:: 203 | 204 | 205 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 206 | 207 | 208 | total 480K 209 | drwxr-xr-x 2 runner docker 4.0K May 2 09:29 . 210 | drwxr-xr-x 5 runner docker 4.0K May 2 09:29 .. 211 | -rw-r--r-- 1 runner docker 455 May 2 09:29 index.html 212 | -rw-r--r-- 1 runner docker 421K May 2 09:29 main.f45a5ed4b2cda7770f92.js 213 | -rw-r--r-- 1 runner docker 33K May 2 09:29 polyfills.20dc7a7b65695a6fa4c7.js 214 | -rw-r--r-- 1 runner docker 499 May 2 09:29 styles.1620bfe86cca3951a762.js 215 | -rw-r--r-- 1 runner docker 84 May 2 09:29 styles.8caa6477d1586f6b9492.css 216 | total 268K 217 | drwxr-xr-x 2 runner docker 4.0K May 2 09:29 . 218 | drwxr-xr-x 5 runner docker 4.0K May 2 09:29 .. 219 | -rw-r--r-- 1 runner docker 13K May 2 09:29 3rdpartylicenses.txt 220 | -rw-r--r-- 1 runner docker 15K May 2 09:29 favicon.ico 221 | -rw-r--r-- 1 runner docker 809 May 2 09:29 index.html 222 | -rw-r--r-- 1 runner docker 180K May 2 09:29 main.e68e7cbf8feae6b6.js 223 | -rw-r--r-- 1 runner docker 34K May 2 09:29 polyfills.217bf7d4eff80d0e.js 224 | -rw-r--r-- 1 runner docker 896 May 2 09:29 runtime.6c9861ca6e26c512.js 225 | -rw-r--r-- 1 runner docker 85 May 2 09:29 styles.9cc1c87275a936d2.css 226 | total 252K 227 | drwxr-xr-x 2 runner docker 4.0K May 2 09:29 . 228 | drwxr-xr-x 3 runner docker 4.0K May 2 09:29 .. 229 | -rw-r--r-- 1 runner docker 15K May 2 09:29 favicon.ico 230 | -rw-r--r-- 1 runner docker 713 May 2 09:29 index.html 231 | -rw-r--r-- 1 runner docker 181K May 2 09:29 main-MNAIRYWO.js 232 | -rw-r--r-- 1 runner docker 34K May 2 09:29 polyfills-7NI4OVGA.js 233 | -rw-r--r-- 1 runner docker 85 May 2 09:29 styles-IXCL2UTK.css 234 | 235 | NX Running targets build, build-wp, build-es for project ng-rspack: 236 | 237 | - ng-rspack 238 | 239 | 240 | 241 | ::group::✅ > nx run ng-rspack:build-es:production 242 | 243 | - Building... 244 | 245 | Initial chunk files | Names | Raw size | Estimated transfer size 246 | main-MNAIRYWO.js | main | 180.65 kB | 48.62 kB 247 | polyfills-7NI4OVGA.js | polyfills | 33.10 kB | 10.72 kB 248 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 249 | 250 | | Initial total | 213.84 kB | 59.42 kB 251 | 252 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 253 | 254 | Application bundle generation complete. [10.918 seconds] 255 | 256 | ::endgroup:: 257 | ::group::✅ > nx run ng-rspack:build:production 258 | 259 | PublicPath: (none) 260 | asset index.html 455 bytes [emitted] 261 | asset main.f45a5ed4b2cda7770f92.js 421 KiB [emitted] (name: main) 262 | asset polyfills.20dc7a7b65695a6fa4c7.js 32.8 KiB [emitted] (name: polyfills) 263 | asset styles.1620bfe86cca3951a762.js 499 bytes [emitted] (name: styles) 264 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 265 | Entrypoint styles 583 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.1620bfe86cca3951a762.js 499 bytes 266 | Entrypoint polyfills 32.8 KiB = polyfills.20dc7a7b65695a6fa4c7.js 267 | Entrypoint main 421 KiB = main.f45a5ed4b2cda7770f92.js 268 | orphan modules [orphan] 149 modules 269 | runtime modules 7 modules 270 | + 91 modules 271 | Rspack 0.6.3 compiled successfully in 13.99 s (389a9154226210f70563) 272 | ::endgroup:: 273 | ::group::✅ > nx run ng-rspack:build-wp:production 274 | 275 | - Generating browser application bundles (phase: setup)... 276 | ✔ Browser application bundle generation complete. 277 | ✔ Browser application bundle generation complete. 278 | - Copying assets... 279 | ✔ Copying assets complete. 280 | - Generating index html... 281 | ✔ Index html generation complete. 282 | 283 | Initial chunk files | Names | Raw size | Estimated transfer size 284 | main.e68e7cbf8feae6b6.js | main | 179.83 kB | 48.18 kB 285 | polyfills.217bf7d4eff80d0e.js | polyfills | 33.37 kB | 10.73 kB 286 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 287 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 288 | 289 | | Initial total | 214.16 kB | 59.46 kB 290 | 291 | Build at: 2024-05-02T09:39:55.202Z - Hash: 610c6efabecb6db3 - Time: 18155ms 292 | ::endgroup:: 293 | 294 | 295 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 296 | 297 | 298 | total 480K 299 | drwxr-xr-x 2 runner docker 4.0K May 2 09:39 . 300 | drwxr-xr-x 5 runner docker 4.0K May 2 09:39 .. 301 | -rw-r--r-- 1 runner docker 455 May 2 09:39 index.html 302 | -rw-r--r-- 1 runner docker 421K May 2 09:39 main.f45a5ed4b2cda7770f92.js 303 | -rw-r--r-- 1 runner docker 33K May 2 09:39 polyfills.20dc7a7b65695a6fa4c7.js 304 | -rw-r--r-- 1 runner docker 499 May 2 09:39 styles.1620bfe86cca3951a762.js 305 | -rw-r--r-- 1 runner docker 84 May 2 09:39 styles.8caa6477d1586f6b9492.css 306 | total 268K 307 | drwxr-xr-x 2 runner docker 4.0K May 2 09:39 . 308 | drwxr-xr-x 5 runner docker 4.0K May 2 09:39 .. 309 | -rw-r--r-- 1 runner docker 13K May 2 09:39 3rdpartylicenses.txt 310 | -rw-r--r-- 1 runner docker 15K May 2 09:39 favicon.ico 311 | -rw-r--r-- 1 runner docker 809 May 2 09:39 index.html 312 | -rw-r--r-- 1 runner docker 180K May 2 09:39 main.e68e7cbf8feae6b6.js 313 | -rw-r--r-- 1 runner docker 34K May 2 09:39 polyfills.217bf7d4eff80d0e.js 314 | -rw-r--r-- 1 runner docker 896 May 2 09:39 runtime.6c9861ca6e26c512.js 315 | -rw-r--r-- 1 runner docker 85 May 2 09:39 styles.9cc1c87275a936d2.css 316 | total 252K 317 | drwxr-xr-x 2 runner docker 4.0K May 2 09:39 . 318 | drwxr-xr-x 3 runner docker 4.0K May 2 09:39 .. 319 | -rw-r--r-- 1 runner docker 15K May 2 09:39 favicon.ico 320 | -rw-r--r-- 1 runner docker 713 May 2 09:39 index.html 321 | -rw-r--r-- 1 runner docker 181K May 2 09:39 main-MNAIRYWO.js 322 | -rw-r--r-- 1 runner docker 34K May 2 09:39 polyfills-7NI4OVGA.js 323 | -rw-r--r-- 1 runner docker 85 May 2 09:39 styles-IXCL2UTK.css 324 | 325 | NX Running targets build, build-wp, build-es for project ng-rspack: 326 | 327 | - ng-rspack 328 | 329 | 330 | 331 | ::group::✅ > nx run ng-rspack:build-es:production 332 | 333 | - Building... 334 | 335 | Initial chunk files | Names | Raw size | Estimated transfer size 336 | main-NVHNK5VX.js | main | 182.66 kB | 48.81 kB 337 | polyfills-6GG4SJ5I.js | polyfills | 33.28 kB | 10.82 kB 338 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 339 | 340 | | Initial total | 216.02 kB | 59.71 kB 341 | 342 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 343 | 344 | Application bundle generation complete. [10.964 seconds] 345 | 346 | ::endgroup:: 347 | ::group::❌ > nx run ng-rspack:build:production 348 | 349 | PublicPath: (none) 350 | asset favicon.ico 14.7 KiB [emitted] 351 | asset index.html 455 bytes [emitted] 352 | asset main.f45a5ed4b2cda7770f92.js 421 KiB [emitted] (name: main) 353 | asset polyfills.20dc7a7b65695a6fa4c7.js 32.8 KiB [emitted] (name: polyfills) 354 | asset styles.1620bfe86cca3951a762.js 499 bytes [emitted] (name: styles) 355 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 356 | Entrypoint styles 583 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.1620bfe86cca3951a762.js 499 bytes 357 | Entrypoint polyfills 32.8 KiB = polyfills.20dc7a7b65695a6fa4c7.js 358 | Entrypoint main 421 KiB = main.f45a5ed4b2cda7770f92.js 359 | orphan modules [orphan] 149 modules 360 | runtime modules 7 modules 361 | + 91 modules 362 | 363 | ERROR in × unable to locate '/home/runner/work/ng-rspack/ng-rspack/src/assets/**/*' glob 364 | 365 | ERROR in × unable to locate '/home/runner/work/ng-rspack/ng-rspack/src/assets/**/*' glob 366 | 367 | Rspack 0.6.3 compiled with 2 errors in 13.61 s (389a9154226210f70563) 368 | ::endgroup:: 369 | ::group::✅ > nx run ng-rspack:build-wp:production 370 | 371 | - Generating browser application bundles (phase: setup)... 372 | ✔ Browser application bundle generation complete. 373 | ✔ Browser application bundle generation complete. 374 | - Copying assets... 375 | ✔ Copying assets complete. 376 | - Generating index html... 377 | ✔ Index html generation complete. 378 | 379 | Initial chunk files | Names | Raw size | Estimated transfer size 380 | main.fc8be2d7e6197ab2.js | main | 180.60 kB | 48.41 kB 381 | polyfills.65a06fed85d785f0.js | polyfills | 33.50 kB | 10.82 kB 382 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 383 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 384 | 385 | | Initial total | 215.06 kB | 59.77 kB 386 | 387 | Build at: 2024-05-02T09:58:27.951Z - Hash: 610c6efabecb6db3 - Time: 17785ms 388 | ::endgroup:: 389 | 390 | 391 | NX Running targets build, build-wp, build-es for project ng-rspack failed 392 | 393 | Failed tasks: 394 | 395 | - ng-rspack:build:production 396 | 397 | total 496K 398 | drwxr-xr-x 2 runner docker 4.0K May 2 09:58 . 399 | drwxr-xr-x 5 runner docker 4.0K May 2 09:58 .. 400 | -rw-r--r-- 1 runner docker 15K May 2 09:58 favicon.ico 401 | -rw-r--r-- 1 runner docker 455 May 2 09:58 index.html 402 | -rw-r--r-- 1 runner docker 421K May 2 09:58 main.f45a5ed4b2cda7770f92.js 403 | -rw-r--r-- 1 runner docker 33K May 2 09:58 polyfills.20dc7a7b65695a6fa4c7.js 404 | -rw-r--r-- 1 runner docker 499 May 2 09:58 styles.1620bfe86cca3951a762.js 405 | -rw-r--r-- 1 runner docker 84 May 2 09:58 styles.8caa6477d1586f6b9492.css 406 | total 256K 407 | drwxr-xr-x 2 runner docker 4.0K May 2 09:58 . 408 | drwxr-xr-x 5 runner docker 4.0K May 2 09:58 .. 409 | -rw-r--r-- 1 runner docker 15K May 2 09:58 favicon.ico 410 | -rw-r--r-- 1 runner docker 809 May 2 09:58 index.html 411 | -rw-r--r-- 1 runner docker 181K May 2 09:58 main.fc8be2d7e6197ab2.js 412 | -rw-r--r-- 1 runner docker 34K May 2 09:58 polyfills.65a06fed85d785f0.js 413 | -rw-r--r-- 1 runner docker 896 May 2 09:58 runtime.6c9861ca6e26c512.js 414 | -rw-r--r-- 1 runner docker 85 May 2 09:58 styles.9cc1c87275a936d2.css 415 | total 252K 416 | drwxr-xr-x 2 runner docker 4.0K May 2 09:58 . 417 | drwxr-xr-x 3 runner docker 4.0K May 2 09:58 .. 418 | -rw-r--r-- 1 runner docker 15K May 2 09:58 favicon.ico 419 | -rw-r--r-- 1 runner docker 713 May 2 09:58 index.html 420 | -rw-r--r-- 1 runner docker 183K May 2 09:58 main-NVHNK5VX.js 421 | -rw-r--r-- 1 runner docker 34K May 2 09:58 polyfills-6GG4SJ5I.js 422 | -rw-r--r-- 1 runner docker 85 May 2 09:58 styles-IXCL2UTK.css 423 | 424 | NX Running targets build, build-wp, build-es for project ng-rspack: 425 | 426 | - ng-rspack 427 | 428 | 429 | 430 | ::group::✅ > nx run ng-rspack:build-es:production 431 | 432 | - Building... 433 | 434 | Initial chunk files | Names | Raw size | Estimated transfer size 435 | main-NVHNK5VX.js | main | 182.66 kB | 48.81 kB 436 | polyfills-6GG4SJ5I.js | polyfills | 33.28 kB | 10.82 kB 437 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 438 | 439 | | Initial total | 216.02 kB | 59.71 kB 440 | 441 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 442 | 443 | Application bundle generation complete. [10.940 seconds] 444 | 445 | ::endgroup:: 446 | ::group::✅ > nx run ng-rspack:build:production 447 | 448 | PublicPath: (none) 449 | asset favicon.ico 14.7 KiB [emitted] 450 | asset index.html 455 bytes [emitted] 451 | asset main.f45a5ed4b2cda7770f92.js 421 KiB [emitted] (name: main) 452 | asset polyfills.20dc7a7b65695a6fa4c7.js 32.8 KiB [emitted] (name: polyfills) 453 | asset styles.1620bfe86cca3951a762.js 499 bytes [emitted] (name: styles) 454 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 455 | Entrypoint styles 583 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.1620bfe86cca3951a762.js 499 bytes 456 | Entrypoint polyfills 32.8 KiB = polyfills.20dc7a7b65695a6fa4c7.js 457 | Entrypoint main 421 KiB = main.f45a5ed4b2cda7770f92.js 458 | orphan modules [orphan] 149 modules 459 | runtime modules 7 modules 460 | + 91 modules 461 | Rspack 0.6.3 compiled successfully in 13.26 s (389a9154226210f70563) 462 | ::endgroup:: 463 | ::group::✅ > nx run ng-rspack:build-wp:production 464 | 465 | - Generating browser application bundles (phase: setup)... 466 | ✔ Browser application bundle generation complete. 467 | ✔ Browser application bundle generation complete. 468 | - Copying assets... 469 | ✔ Copying assets complete. 470 | - Generating index html... 471 | ✔ Index html generation complete. 472 | 473 | Initial chunk files | Names | Raw size | Estimated transfer size 474 | main.fc8be2d7e6197ab2.js | main | 180.60 kB | 48.41 kB 475 | polyfills.65a06fed85d785f0.js | polyfills | 33.50 kB | 10.82 kB 476 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 477 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 478 | 479 | | Initial total | 215.06 kB | 59.77 kB 480 | 481 | Build at: 2024-05-02T10:02:08.450Z - Hash: 610c6efabecb6db3 - Time: 17537ms 482 | ::endgroup:: 483 | 484 | 485 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 486 | 487 | 488 | total 496K 489 | drwxr-xr-x 2 runner docker 4.0K May 2 10:02 . 490 | drwxr-xr-x 5 runner docker 4.0K May 2 10:02 .. 491 | -rw-r--r-- 1 runner docker 15K May 2 10:02 favicon.ico 492 | -rw-r--r-- 1 runner docker 455 May 2 10:02 index.html 493 | -rw-r--r-- 1 runner docker 421K May 2 10:02 main.f45a5ed4b2cda7770f92.js 494 | -rw-r--r-- 1 runner docker 33K May 2 10:02 polyfills.20dc7a7b65695a6fa4c7.js 495 | -rw-r--r-- 1 runner docker 499 May 2 10:02 styles.1620bfe86cca3951a762.js 496 | -rw-r--r-- 1 runner docker 84 May 2 10:02 styles.8caa6477d1586f6b9492.css 497 | total 256K 498 | drwxr-xr-x 2 runner docker 4.0K May 2 10:02 . 499 | drwxr-xr-x 5 runner docker 4.0K May 2 10:02 .. 500 | -rw-r--r-- 1 runner docker 15K May 2 10:02 favicon.ico 501 | -rw-r--r-- 1 runner docker 809 May 2 10:02 index.html 502 | -rw-r--r-- 1 runner docker 181K May 2 10:02 main.fc8be2d7e6197ab2.js 503 | -rw-r--r-- 1 runner docker 34K May 2 10:02 polyfills.65a06fed85d785f0.js 504 | -rw-r--r-- 1 runner docker 896 May 2 10:02 runtime.6c9861ca6e26c512.js 505 | -rw-r--r-- 1 runner docker 85 May 2 10:02 styles.9cc1c87275a936d2.css 506 | total 252K 507 | drwxr-xr-x 2 runner docker 4.0K May 2 10:02 . 508 | drwxr-xr-x 3 runner docker 4.0K May 2 10:02 .. 509 | -rw-r--r-- 1 runner docker 15K May 2 10:02 favicon.ico 510 | -rw-r--r-- 1 runner docker 713 May 2 10:02 index.html 511 | -rw-r--r-- 1 runner docker 183K May 2 10:02 main-NVHNK5VX.js 512 | -rw-r--r-- 1 runner docker 34K May 2 10:02 polyfills-6GG4SJ5I.js 513 | -rw-r--r-- 1 runner docker 85 May 2 10:02 styles-IXCL2UTK.css 514 | 515 | NX Running targets build, build-wp, build-es for project ng-rspack: 516 | 517 | - ng-rspack 518 | 519 | 520 | 521 | ::group::✅ > nx run ng-rspack:build-es:production 522 | 523 | - Building... 524 | 525 | Initial chunk files | Names | Raw size | Estimated transfer size 526 | main-NVHNK5VX.js | main | 182.66 kB | 48.81 kB 527 | polyfills-6GG4SJ5I.js | polyfills | 33.28 kB | 10.82 kB 528 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 529 | 530 | | Initial total | 216.02 kB | 59.71 kB 531 | 532 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 533 | 534 | Application bundle generation complete. [10.955 seconds] 535 | 536 | ::endgroup:: 537 | ::group::✅ > nx run ng-rspack:build:production 538 | 539 | PublicPath: (none) 540 | asset favicon.ico 14.7 KiB [emitted] 541 | asset index.html 455 bytes [emitted] 542 | asset main.d093cf36117883182993.js 418 KiB [emitted] (name: main) 543 | asset polyfills.265ca2abb957aaffce32.js 33.4 KiB [emitted] (name: polyfills) 544 | asset styles.3a1ac1a1549ee6732218.js 497 bytes [emitted] (name: styles) 545 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 546 | Entrypoint styles 581 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.3a1ac1a1549ee6732218.js 497 bytes 547 | Entrypoint polyfills 33.4 KiB = polyfills.265ca2abb957aaffce32.js 548 | Entrypoint main 418 KiB = main.d093cf36117883182993.js 549 | orphan modules [orphan] 149 modules 550 | runtime modules 7 modules 551 | + 91 modules 552 | Rspack 0.6.3 compiled successfully in 18.72 s (edf36199ba433e38f48d) 553 | ::endgroup:: 554 | ::group::✅ > nx run ng-rspack:build-wp:production 555 | 556 | - Generating browser application bundles (phase: setup)... 557 | ✔ Browser application bundle generation complete. 558 | ✔ Browser application bundle generation complete. 559 | - Copying assets... 560 | ✔ Copying assets complete. 561 | - Generating index html... 562 | ✔ Index html generation complete. 563 | 564 | Initial chunk files | Names | Raw size | Estimated transfer size 565 | main.fc8be2d7e6197ab2.js | main | 180.60 kB | 48.41 kB 566 | polyfills.65a06fed85d785f0.js | polyfills | 33.50 kB | 10.82 kB 567 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 568 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 569 | 570 | | Initial total | 215.06 kB | 59.77 kB 571 | 572 | Build at: 2024-05-02T10:28:14.447Z - Hash: 610c6efabecb6db3 - Time: 19033ms 573 | ::endgroup:: 574 | 575 | 576 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 577 | 578 | 579 | total 492K 580 | drwxr-xr-x 2 runner docker 4.0K May 2 10:28 . 581 | drwxr-xr-x 5 runner docker 4.0K May 2 10:28 .. 582 | -rw-r--r-- 1 runner docker 15K May 2 10:28 favicon.ico 583 | -rw-r--r-- 1 runner docker 455 May 2 10:28 index.html 584 | -rw-r--r-- 1 runner docker 419K May 2 10:28 main.d093cf36117883182993.js 585 | -rw-r--r-- 1 runner docker 34K May 2 10:28 polyfills.265ca2abb957aaffce32.js 586 | -rw-r--r-- 1 runner docker 497 May 2 10:28 styles.3a1ac1a1549ee6732218.js 587 | -rw-r--r-- 1 runner docker 84 May 2 10:28 styles.8caa6477d1586f6b9492.css 588 | total 256K 589 | drwxr-xr-x 2 runner docker 4.0K May 2 10:28 . 590 | drwxr-xr-x 5 runner docker 4.0K May 2 10:28 .. 591 | -rw-r--r-- 1 runner docker 15K May 2 10:28 favicon.ico 592 | -rw-r--r-- 1 runner docker 809 May 2 10:28 index.html 593 | -rw-r--r-- 1 runner docker 181K May 2 10:28 main.fc8be2d7e6197ab2.js 594 | -rw-r--r-- 1 runner docker 34K May 2 10:28 polyfills.65a06fed85d785f0.js 595 | -rw-r--r-- 1 runner docker 896 May 2 10:28 runtime.6c9861ca6e26c512.js 596 | -rw-r--r-- 1 runner docker 85 May 2 10:28 styles.9cc1c87275a936d2.css 597 | total 252K 598 | drwxr-xr-x 2 runner docker 4.0K May 2 10:28 . 599 | drwxr-xr-x 3 runner docker 4.0K May 2 10:28 .. 600 | -rw-r--r-- 1 runner docker 15K May 2 10:28 favicon.ico 601 | -rw-r--r-- 1 runner docker 713 May 2 10:28 index.html 602 | -rw-r--r-- 1 runner docker 183K May 2 10:28 main-NVHNK5VX.js 603 | -rw-r--r-- 1 runner docker 34K May 2 10:28 polyfills-6GG4SJ5I.js 604 | -rw-r--r-- 1 runner docker 85 May 2 10:28 styles-IXCL2UTK.css 605 | 606 | NX Running targets build, build-wp, build-es for project ng-rspack: 607 | 608 | - ng-rspack 609 | 610 | 611 | 612 | ::group::✅ > nx run ng-rspack:build-es:production 613 | 614 | - Building... 615 | 616 | Initial chunk files | Names | Raw size | Estimated transfer size 617 | main-NVHNK5VX.js | main | 182.66 kB | 48.81 kB 618 | polyfills-6GG4SJ5I.js | polyfills | 33.28 kB | 10.82 kB 619 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 620 | 621 | | Initial total | 216.02 kB | 59.71 kB 622 | 623 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 624 | 625 | Application bundle generation complete. [11.084 seconds] 626 | 627 | ::endgroup:: 628 | ::group::✅ > nx run ng-rspack:build:production 629 | 630 | PublicPath: (none) 631 | asset favicon.ico 14.7 KiB [emitted] 632 | asset index.html 455 bytes [emitted] 633 | asset main.f45a5ed4b2cda7770f92.js 421 KiB [emitted] (name: main) 634 | asset polyfills.20dc7a7b65695a6fa4c7.js 32.8 KiB [emitted] (name: polyfills) 635 | asset styles.1620bfe86cca3951a762.js 499 bytes [emitted] (name: styles) 636 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 637 | Entrypoint styles 583 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.1620bfe86cca3951a762.js 499 bytes 638 | Entrypoint polyfills 32.8 KiB = polyfills.20dc7a7b65695a6fa4c7.js 639 | Entrypoint main 421 KiB = main.f45a5ed4b2cda7770f92.js 640 | orphan modules [orphan] 149 modules 641 | runtime modules 7 modules 642 | + 91 modules 643 | Rspack 0.6.3 compiled successfully in 13.85 s (389a9154226210f70563) 644 | ::endgroup:: 645 | ::group::✅ > nx run ng-rspack:build-wp:production 646 | 647 | - Generating browser application bundles (phase: setup)... 648 | ✔ Browser application bundle generation complete. 649 | ✔ Browser application bundle generation complete. 650 | - Copying assets... 651 | ✔ Copying assets complete. 652 | - Generating index html... 653 | ✔ Index html generation complete. 654 | 655 | Initial chunk files | Names | Raw size | Estimated transfer size 656 | main.fc8be2d7e6197ab2.js | main | 180.60 kB | 48.41 kB 657 | polyfills.65a06fed85d785f0.js | polyfills | 33.50 kB | 10.82 kB 658 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 659 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 660 | 661 | | Initial total | 215.06 kB | 59.77 kB 662 | 663 | Build at: 2024-05-02T12:37:11.552Z - Hash: 610c6efabecb6db3 - Time: 18139ms 664 | ::endgroup:: 665 | 666 | 667 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 668 | 669 | 670 | total 496K 671 | drwxr-xr-x 2 runner docker 4.0K May 2 12:37 . 672 | drwxr-xr-x 5 runner docker 4.0K May 2 12:37 .. 673 | -rw-r--r-- 1 runner docker 15K May 2 12:37 favicon.ico 674 | -rw-r--r-- 1 runner docker 455 May 2 12:37 index.html 675 | -rw-r--r-- 1 runner docker 421K May 2 12:37 main.f45a5ed4b2cda7770f92.js 676 | -rw-r--r-- 1 runner docker 33K May 2 12:37 polyfills.20dc7a7b65695a6fa4c7.js 677 | -rw-r--r-- 1 runner docker 499 May 2 12:37 styles.1620bfe86cca3951a762.js 678 | -rw-r--r-- 1 runner docker 84 May 2 12:37 styles.8caa6477d1586f6b9492.css 679 | total 256K 680 | drwxr-xr-x 2 runner docker 4.0K May 2 12:37 . 681 | drwxr-xr-x 5 runner docker 4.0K May 2 12:37 .. 682 | -rw-r--r-- 1 runner docker 15K May 2 12:37 favicon.ico 683 | -rw-r--r-- 1 runner docker 809 May 2 12:37 index.html 684 | -rw-r--r-- 1 runner docker 181K May 2 12:37 main.fc8be2d7e6197ab2.js 685 | -rw-r--r-- 1 runner docker 34K May 2 12:37 polyfills.65a06fed85d785f0.js 686 | -rw-r--r-- 1 runner docker 896 May 2 12:37 runtime.6c9861ca6e26c512.js 687 | -rw-r--r-- 1 runner docker 85 May 2 12:37 styles.9cc1c87275a936d2.css 688 | total 252K 689 | drwxr-xr-x 2 runner docker 4.0K May 2 12:37 . 690 | drwxr-xr-x 3 runner docker 4.0K May 2 12:37 .. 691 | -rw-r--r-- 1 runner docker 15K May 2 12:37 favicon.ico 692 | -rw-r--r-- 1 runner docker 713 May 2 12:37 index.html 693 | -rw-r--r-- 1 runner docker 183K May 2 12:37 main-NVHNK5VX.js 694 | -rw-r--r-- 1 runner docker 34K May 2 12:37 polyfills-6GG4SJ5I.js 695 | -rw-r--r-- 1 runner docker 85 May 2 12:37 styles-IXCL2UTK.css 696 | 697 | NX Running targets build, build-wp, build-es for project ng-rspack: 698 | 699 | - ng-rspack 700 | 701 | 702 | 703 | ::group::✅ > nx run ng-rspack:build-es:production 704 | 705 | - Building... 706 | 707 | Initial chunk files | Names | Raw size | Estimated transfer size 708 | main-NVHNK5VX.js | main | 182.66 kB | 48.81 kB 709 | polyfills-6GG4SJ5I.js | polyfills | 33.28 kB | 10.82 kB 710 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 711 | 712 | | Initial total | 216.02 kB | 59.71 kB 713 | 714 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 715 | 716 | Application bundle generation complete. [10.832 seconds] 717 | 718 | ::endgroup:: 719 | ::group::✅ > nx run ng-rspack:build:production 720 | 721 | PublicPath: (none) 722 | asset favicon.ico 14.7 KiB [emitted] 723 | asset index.html 455 bytes [emitted] 724 | asset main.f45a5ed4b2cda7770f92.js 421 KiB [emitted] (name: main) 725 | asset polyfills.20dc7a7b65695a6fa4c7.js 32.8 KiB [emitted] (name: polyfills) 726 | asset styles.1620bfe86cca3951a762.js 499 bytes [emitted] (name: styles) 727 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 728 | Entrypoint styles 583 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.1620bfe86cca3951a762.js 499 bytes 729 | Entrypoint polyfills 32.8 KiB = polyfills.20dc7a7b65695a6fa4c7.js 730 | Entrypoint main 421 KiB = main.f45a5ed4b2cda7770f92.js 731 | orphan modules [orphan] 149 modules 732 | runtime modules 7 modules 733 | + 91 modules 734 | Rspack 0.6.3 compiled successfully in 13.00 s (389a9154226210f70563) 735 | ::endgroup:: 736 | ::group::✅ > nx run ng-rspack:build-wp:production 737 | 738 | - Generating browser application bundles (phase: setup)... 739 | ✔ Browser application bundle generation complete. 740 | ✔ Browser application bundle generation complete. 741 | - Copying assets... 742 | ✔ Copying assets complete. 743 | - Generating index html... 744 | ✔ Index html generation complete. 745 | 746 | Initial chunk files | Names | Raw size | Estimated transfer size 747 | main.fc8be2d7e6197ab2.js | main | 180.60 kB | 48.41 kB 748 | polyfills.65a06fed85d785f0.js | polyfills | 33.50 kB | 10.82 kB 749 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 750 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 751 | 752 | | Initial total | 215.06 kB | 59.77 kB 753 | 754 | Build at: 2024-05-02T12:39:01.744Z - Hash: 610c6efabecb6db3 - Time: 17340ms 755 | ::endgroup:: 756 | 757 | 758 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 759 | 760 | 761 | total 496K 762 | drwxr-xr-x 2 runner docker 4.0K May 2 12:38 . 763 | drwxr-xr-x 5 runner docker 4.0K May 2 12:39 .. 764 | -rw-r--r-- 1 runner docker 15K May 2 12:38 favicon.ico 765 | -rw-r--r-- 1 runner docker 455 May 2 12:38 index.html 766 | -rw-r--r-- 1 runner docker 421K May 2 12:38 main.f45a5ed4b2cda7770f92.js 767 | -rw-r--r-- 1 runner docker 33K May 2 12:38 polyfills.20dc7a7b65695a6fa4c7.js 768 | -rw-r--r-- 1 runner docker 499 May 2 12:38 styles.1620bfe86cca3951a762.js 769 | -rw-r--r-- 1 runner docker 84 May 2 12:38 styles.8caa6477d1586f6b9492.css 770 | total 256K 771 | drwxr-xr-x 2 runner docker 4.0K May 2 12:39 . 772 | drwxr-xr-x 5 runner docker 4.0K May 2 12:39 .. 773 | -rw-r--r-- 1 runner docker 15K May 2 12:39 favicon.ico 774 | -rw-r--r-- 1 runner docker 809 May 2 12:39 index.html 775 | -rw-r--r-- 1 runner docker 181K May 2 12:39 main.fc8be2d7e6197ab2.js 776 | -rw-r--r-- 1 runner docker 34K May 2 12:39 polyfills.65a06fed85d785f0.js 777 | -rw-r--r-- 1 runner docker 896 May 2 12:39 runtime.6c9861ca6e26c512.js 778 | -rw-r--r-- 1 runner docker 85 May 2 12:39 styles.9cc1c87275a936d2.css 779 | total 252K 780 | drwxr-xr-x 2 runner docker 4.0K May 2 12:38 . 781 | drwxr-xr-x 3 runner docker 4.0K May 2 12:38 .. 782 | -rw-r--r-- 1 runner docker 15K May 2 12:38 favicon.ico 783 | -rw-r--r-- 1 runner docker 713 May 2 12:38 index.html 784 | -rw-r--r-- 1 runner docker 183K May 2 12:38 main-NVHNK5VX.js 785 | -rw-r--r-- 1 runner docker 34K May 2 12:38 polyfills-6GG4SJ5I.js 786 | -rw-r--r-- 1 runner docker 85 May 2 12:38 styles-IXCL2UTK.css 787 | 788 | NX Running targets build, build-wp, build-es for project ng-rspack: 789 | 790 | - ng-rspack 791 | 792 | 793 | 794 | ::group::✅ > nx run ng-rspack:build-es:production 795 | 796 | - Building... 797 | 798 | Initial chunk files | Names | Raw size | Estimated transfer size 799 | main-NVHNK5VX.js | main | 182.66 kB | 48.81 kB 800 | polyfills-6GG4SJ5I.js | polyfills | 33.28 kB | 10.82 kB 801 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 802 | 803 | | Initial total | 216.02 kB | 59.71 kB 804 | 805 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 806 | 807 | Application bundle generation complete. [10.762 seconds] 808 | 809 | ::endgroup:: 810 | ::group::✅ > nx run ng-rspack:build:production 811 | 812 | PublicPath: (none) 813 | asset favicon.ico 14.7 KiB [emitted] 814 | asset index.html 590 bytes [emitted] 815 | asset main.67ebc856a00876c8c2c7.js 412 KiB [emitted] (name: main) 816 | asset polyfills.81267c3ee4e2c91c00f7.js 33.6 KiB [emitted] (name: polyfills) 817 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 818 | asset styles.b4cc15e8ccf7f9ca0b59.js 488 bytes [emitted] (name: styles) 819 | Entrypoint styles 572 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.b4cc15e8ccf7f9ca0b59.js 488 bytes 820 | Entrypoint polyfills 33.6 KiB = polyfills.81267c3ee4e2c91c00f7.js 821 | Entrypoint main 412 KiB = main.67ebc856a00876c8c2c7.js 822 | orphan modules [orphan] 149 modules 823 | runtime modules 7 modules 824 | + 91 modules 825 | Rspack 0.6.3 compiled successfully in 17.46 s (907b1f252bff9dea1540) 826 | ::endgroup:: 827 | ::group::✅ > nx run ng-rspack:build-wp:production 828 | 829 | - Generating browser application bundles (phase: setup)... 830 | ✔ Browser application bundle generation complete. 831 | ✔ Browser application bundle generation complete. 832 | - Copying assets... 833 | ✔ Copying assets complete. 834 | - Generating index html... 835 | ✔ Index html generation complete. 836 | 837 | Initial chunk files | Names | Raw size | Estimated transfer size 838 | main.fc8be2d7e6197ab2.js | main | 180.60 kB | 48.41 kB 839 | polyfills.65a06fed85d785f0.js | polyfills | 33.50 kB | 10.82 kB 840 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 841 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 842 | 843 | | Initial total | 215.06 kB | 59.77 kB 844 | 845 | Build at: 2024-05-02T16:24:41.695Z - Hash: 610c6efabecb6db3 - Time: 19463ms 846 | ::endgroup:: 847 | 848 | 849 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 850 | 851 | 852 | total 488K 853 | drwxr-xr-x 2 runner docker 4.0K May 2 16:24 . 854 | drwxr-xr-x 5 runner docker 4.0K May 2 16:24 .. 855 | -rw-r--r-- 1 runner docker 15K May 2 16:24 favicon.ico 856 | -rw-r--r-- 1 runner docker 590 May 2 16:24 index.html 857 | -rw-r--r-- 1 runner docker 413K May 2 16:24 main.67ebc856a00876c8c2c7.js 858 | -rw-r--r-- 1 runner docker 34K May 2 16:24 polyfills.81267c3ee4e2c91c00f7.js 859 | -rw-r--r-- 1 runner docker 84 May 2 16:24 styles.8caa6477d1586f6b9492.css 860 | -rw-r--r-- 1 runner docker 488 May 2 16:24 styles.b4cc15e8ccf7f9ca0b59.js 861 | total 256K 862 | drwxr-xr-x 2 runner docker 4.0K May 2 16:24 . 863 | drwxr-xr-x 5 runner docker 4.0K May 2 16:24 .. 864 | -rw-r--r-- 1 runner docker 15K May 2 16:24 favicon.ico 865 | -rw-r--r-- 1 runner docker 809 May 2 16:24 index.html 866 | -rw-r--r-- 1 runner docker 181K May 2 16:24 main.fc8be2d7e6197ab2.js 867 | -rw-r--r-- 1 runner docker 34K May 2 16:24 polyfills.65a06fed85d785f0.js 868 | -rw-r--r-- 1 runner docker 896 May 2 16:24 runtime.6c9861ca6e26c512.js 869 | -rw-r--r-- 1 runner docker 85 May 2 16:24 styles.9cc1c87275a936d2.css 870 | total 252K 871 | drwxr-xr-x 2 runner docker 4.0K May 2 16:24 . 872 | drwxr-xr-x 3 runner docker 4.0K May 2 16:24 .. 873 | -rw-r--r-- 1 runner docker 15K May 2 16:24 favicon.ico 874 | -rw-r--r-- 1 runner docker 713 May 2 16:24 index.html 875 | -rw-r--r-- 1 runner docker 183K May 2 16:24 main-NVHNK5VX.js 876 | -rw-r--r-- 1 runner docker 34K May 2 16:24 polyfills-6GG4SJ5I.js 877 | -rw-r--r-- 1 runner docker 85 May 2 16:24 styles-IXCL2UTK.css 878 | 879 | NX Running targets build, build-wp, build-es for project ng-rspack: 880 | 881 | - ng-rspack 882 | 883 | 884 | 885 | ::group::✅ > nx run ng-rspack:build-es:production 886 | 887 | - Building... 888 | 889 | Initial chunk files | Names | Raw size | Estimated transfer size 890 | main-NVHNK5VX.js | main | 182.66 kB | 48.81 kB 891 | polyfills-6GG4SJ5I.js | polyfills | 33.28 kB | 10.82 kB 892 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 893 | 894 | | Initial total | 216.02 kB | 59.71 kB 895 | 896 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 897 | 898 | Application bundle generation complete. [11.011 seconds] 899 | 900 | ::endgroup:: 901 | ::group::✅ > nx run ng-rspack:build:production 902 | 903 | PublicPath: (none) 904 | asset favicon.ico 14.7 KiB [emitted] 905 | asset index.html 590 bytes [emitted] 906 | asset main.ac8d4338302bfa1d9b2f.js 412 KiB [emitted] (name: main) 907 | asset polyfills.5586a662b959ea0998d0.js 33.6 KiB [emitted] (name: polyfills) 908 | asset styles.6709cf6768d751163011.js 488 bytes [emitted] (name: styles) 909 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 910 | Entrypoint styles 572 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.6709cf6768d751163011.js 488 bytes 911 | Entrypoint polyfills 33.6 KiB = polyfills.5586a662b959ea0998d0.js 912 | Entrypoint main 412 KiB = main.ac8d4338302bfa1d9b2f.js 913 | orphan modules [orphan] 149 modules 914 | runtime modules 7 modules 915 | + 91 modules 916 | Rspack 0.6.3 compiled successfully in 17.70 s (6427c00eb50a65e141c4) 917 | ::endgroup:: 918 | ::group::✅ > nx run ng-rspack:build-wp:production 919 | 920 | - Generating browser application bundles (phase: setup)... 921 | ✔ Browser application bundle generation complete. 922 | ✔ Browser application bundle generation complete. 923 | - Copying assets... 924 | ✔ Copying assets complete. 925 | - Generating index html... 926 | ✔ Index html generation complete. 927 | 928 | Initial chunk files | Names | Raw size | Estimated transfer size 929 | main.fc8be2d7e6197ab2.js | main | 180.60 kB | 48.41 kB 930 | polyfills.65a06fed85d785f0.js | polyfills | 33.50 kB | 10.82 kB 931 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 932 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 933 | 934 | | Initial total | 215.06 kB | 59.77 kB 935 | 936 | Build at: 2024-05-03T06:16:42.288Z - Hash: 610c6efabecb6db3 - Time: 18969ms 937 | ::endgroup:: 938 | 939 | 940 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 941 | 942 | 943 | total 488K 944 | drwxr-xr-x 2 runner docker 4.0K May 3 06:16 . 945 | drwxr-xr-x 5 runner docker 4.0K May 3 06:16 .. 946 | -rw-r--r-- 1 runner docker 15K May 3 06:16 favicon.ico 947 | -rw-r--r-- 1 runner docker 590 May 3 06:16 index.html 948 | -rw-r--r-- 1 runner docker 413K May 3 06:16 main.ac8d4338302bfa1d9b2f.js 949 | -rw-r--r-- 1 runner docker 34K May 3 06:16 polyfills.5586a662b959ea0998d0.js 950 | -rw-r--r-- 1 runner docker 488 May 3 06:16 styles.6709cf6768d751163011.js 951 | -rw-r--r-- 1 runner docker 84 May 3 06:16 styles.8caa6477d1586f6b9492.css 952 | total 256K 953 | drwxr-xr-x 2 runner docker 4.0K May 3 06:16 . 954 | drwxr-xr-x 5 runner docker 4.0K May 3 06:16 .. 955 | -rw-r--r-- 1 runner docker 15K May 3 06:16 favicon.ico 956 | -rw-r--r-- 1 runner docker 809 May 3 06:16 index.html 957 | -rw-r--r-- 1 runner docker 181K May 3 06:16 main.fc8be2d7e6197ab2.js 958 | -rw-r--r-- 1 runner docker 34K May 3 06:16 polyfills.65a06fed85d785f0.js 959 | -rw-r--r-- 1 runner docker 896 May 3 06:16 runtime.6c9861ca6e26c512.js 960 | -rw-r--r-- 1 runner docker 85 May 3 06:16 styles.9cc1c87275a936d2.css 961 | total 252K 962 | drwxr-xr-x 2 runner docker 4.0K May 3 06:16 . 963 | drwxr-xr-x 3 runner docker 4.0K May 3 06:16 .. 964 | -rw-r--r-- 1 runner docker 15K May 3 06:16 favicon.ico 965 | -rw-r--r-- 1 runner docker 713 May 3 06:16 index.html 966 | -rw-r--r-- 1 runner docker 183K May 3 06:16 main-NVHNK5VX.js 967 | -rw-r--r-- 1 runner docker 34K May 3 06:16 polyfills-6GG4SJ5I.js 968 | -rw-r--r-- 1 runner docker 85 May 3 06:16 styles-IXCL2UTK.css 969 | 970 | NX Running targets build, build-wp, build-es for project ng-rspack: 971 | 972 | - ng-rspack 973 | 974 | 975 | 976 | ::group::✅ > nx run ng-rspack:build-es:production 977 | 978 | - Building... 979 | 980 | Initial chunk files | Names | Raw size | Estimated transfer size 981 | main-KD4QAICK.js | main | 182.92 kB | 48.82 kB 982 | polyfills-6GG4SJ5I.js | polyfills | 33.28 kB | 10.82 kB 983 | styles-IXCL2UTK.css | styles | 85 bytes | 85 bytes 984 | 985 | | Initial total | 216.27 kB | 59.73 kB 986 | 987 | Output location: /home/runner/work/ng-rspack/ng-rspack/dist/ng-rspack/esbuild 988 | 989 | Application bundle generation complete. [10.333 seconds] 990 | 991 | ::endgroup:: 992 | ::group::✅ > nx run ng-rspack:build:production 993 | 994 | PublicPath: (none) 995 | asset favicon.ico 14.7 KiB [emitted] 996 | asset index.html 590 bytes [emitted] 997 | asset main.40a3807255e2da884155.js 413 KiB [emitted] (name: main) 998 | asset polyfills.d3f6aca39a6537afe693.js 33.6 KiB [emitted] (name: polyfills) 999 | asset styles.8caa6477d1586f6b9492.css 84 bytes [emitted] (name: styles) 1000 | asset styles.947def69ce0b54a66431.js 488 bytes [emitted] (name: styles) 1001 | Entrypoint styles 572 bytes = styles.8caa6477d1586f6b9492.css 84 bytes styles.947def69ce0b54a66431.js 488 bytes 1002 | Entrypoint polyfills 33.6 KiB = polyfills.d3f6aca39a6537afe693.js 1003 | Entrypoint main 413 KiB = main.40a3807255e2da884155.js 1004 | orphan modules [orphan] 149 modules 1005 | runtime modules 7 modules 1006 | + 92 modules 1007 | Rspack 0.6.3 compiled successfully in 18.41 s (f022848e42f033a3fe26) 1008 | ::endgroup:: 1009 | ::group::✅ > nx run ng-rspack:build-wp:production 1010 | 1011 | - Generating browser application bundles (phase: setup)... 1012 | ✔ Browser application bundle generation complete. 1013 | ✔ Browser application bundle generation complete. 1014 | - Copying assets... 1015 | ✔ Copying assets complete. 1016 | - Generating index html... 1017 | ✔ Index html generation complete. 1018 | 1019 | Initial chunk files | Names | Raw size | Estimated transfer size 1020 | main.234af0b273f6001b.js | main | 180.87 kB | 48.40 kB 1021 | polyfills.65a06fed85d785f0.js | polyfills | 33.50 kB | 10.82 kB 1022 | runtime.6c9861ca6e26c512.js | runtime | 896 bytes | 508 bytes 1023 | styles.9cc1c87275a936d2.css | styles | 85 bytes | 51 bytes 1024 | 1025 | | Initial total | 215.33 kB | 59.76 kB 1026 | 1027 | Build at: 2024-05-03T07:35:10.927Z - Hash: 926da32f5a0ed53b - Time: 19888ms 1028 | ::endgroup:: 1029 | 1030 | 1031 | NX Successfully ran targets build, build-wp, build-es for project ng-rspack 1032 | 1033 | 1034 | total 488K 1035 | drwxr-xr-x 2 runner docker 4.0K May 3 07:35 . 1036 | drwxr-xr-x 5 runner docker 4.0K May 3 07:35 .. 1037 | -rw-r--r-- 1 runner docker 15K May 3 07:35 favicon.ico 1038 | -rw-r--r-- 1 runner docker 590 May 3 07:35 index.html 1039 | -rw-r--r-- 1 runner docker 413K May 3 07:35 main.40a3807255e2da884155.js 1040 | -rw-r--r-- 1 runner docker 34K May 3 07:35 polyfills.d3f6aca39a6537afe693.js 1041 | -rw-r--r-- 1 runner docker 84 May 3 07:35 styles.8caa6477d1586f6b9492.css 1042 | -rw-r--r-- 1 runner docker 488 May 3 07:35 styles.947def69ce0b54a66431.js 1043 | total 256K 1044 | drwxr-xr-x 2 runner docker 4.0K May 3 07:35 . 1045 | drwxr-xr-x 5 runner docker 4.0K May 3 07:35 .. 1046 | -rw-r--r-- 1 runner docker 15K May 3 07:35 favicon.ico 1047 | -rw-r--r-- 1 runner docker 809 May 3 07:35 index.html 1048 | -rw-r--r-- 1 runner docker 181K May 3 07:35 main.234af0b273f6001b.js 1049 | -rw-r--r-- 1 runner docker 34K May 3 07:35 polyfills.65a06fed85d785f0.js 1050 | -rw-r--r-- 1 runner docker 896 May 3 07:35 runtime.6c9861ca6e26c512.js 1051 | -rw-r--r-- 1 runner docker 85 May 3 07:35 styles.9cc1c87275a936d2.css 1052 | total 252K 1053 | drwxr-xr-x 2 runner docker 4.0K May 3 07:35 . 1054 | drwxr-xr-x 3 runner docker 4.0K May 3 07:35 .. 1055 | -rw-r--r-- 1 runner docker 15K May 3 07:35 favicon.ico 1056 | -rw-r--r-- 1 runner docker 713 May 3 07:35 index.html 1057 | -rw-r--r-- 1 runner docker 183K May 3 07:35 main-KD4QAICK.js 1058 | -rw-r--r-- 1 runner docker 34K May 3 07:35 polyfills-6GG4SJ5I.js 1059 | -rw-r--r-- 1 runner docker 85 May 3 07:35 styles-IXCL2UTK.css 1060 | total 488K 1061 | drwxr-xr-x 2 runner docker 4.0K May 3 07:50 . 1062 | drwxr-xr-x 5 runner docker 4.0K May 3 07:50 .. 1063 | -rw-r--r-- 1 runner docker 15K May 3 07:50 favicon.ico 1064 | -rw-r--r-- 1 runner docker 590 May 3 07:50 index.html 1065 | -rw-r--r-- 1 runner docker 413K May 3 07:50 main.40a3807255e2da884155.js 1066 | -rw-r--r-- 1 runner docker 34K May 3 07:50 polyfills.d3f6aca39a6537afe693.js 1067 | -rw-r--r-- 1 runner docker 84 May 3 07:50 styles.8caa6477d1586f6b9492.css 1068 | -rw-r--r-- 1 runner docker 488 May 3 07:50 styles.947def69ce0b54a66431.js 1069 | total 256K 1070 | drwxr-xr-x 2 runner docker 4.0K May 3 07:50 . 1071 | drwxr-xr-x 5 runner docker 4.0K May 3 07:50 .. 1072 | -rw-r--r-- 1 runner docker 15K May 3 07:50 favicon.ico 1073 | -rw-r--r-- 1 runner docker 809 May 3 07:50 index.html 1074 | -rw-r--r-- 1 runner docker 181K May 3 07:50 main.234af0b273f6001b.js 1075 | -rw-r--r-- 1 runner docker 34K May 3 07:50 polyfills.65a06fed85d785f0.js 1076 | -rw-r--r-- 1 runner docker 896 May 3 07:50 runtime.6c9861ca6e26c512.js 1077 | -rw-r--r-- 1 runner docker 85 May 3 07:50 styles.9cc1c87275a936d2.css 1078 | total 252K 1079 | drwxr-xr-x 2 runner docker 4.0K May 3 07:50 . 1080 | drwxr-xr-x 3 runner docker 4.0K May 3 07:50 .. 1081 | -rw-r--r-- 1 runner docker 15K May 3 07:50 favicon.ico 1082 | -rw-r--r-- 1 runner docker 713 May 3 07:50 index.html 1083 | -rw-r--r-- 1 runner docker 183K May 3 07:50 main-KD4QAICK.js 1084 | -rw-r--r-- 1 runner docker 34K May 3 07:50 polyfills-6GG4SJ5I.js 1085 | -rw-r--r-- 1 runner docker 85 May 3 07:50 styles-IXCL2UTK.css 1086 | total 488K 1087 | drwxr-xr-x 2 runner docker 4.0K May 3 08:20 . 1088 | drwxr-xr-x 5 runner docker 4.0K May 3 08:20 .. 1089 | -rw-r--r-- 1 runner docker 15K May 3 08:20 favicon.ico 1090 | -rw-r--r-- 1 runner docker 590 May 3 08:20 index.html 1091 | -rw-r--r-- 1 runner docker 413K May 3 08:20 main.40a3807255e2da884155.js 1092 | -rw-r--r-- 1 runner docker 34K May 3 08:20 polyfills.d3f6aca39a6537afe693.js 1093 | -rw-r--r-- 1 runner docker 84 May 3 08:20 styles.8caa6477d1586f6b9492.css 1094 | -rw-r--r-- 1 runner docker 488 May 3 08:20 styles.947def69ce0b54a66431.js 1095 | total 256K 1096 | drwxr-xr-x 2 runner docker 4.0K May 3 08:20 . 1097 | drwxr-xr-x 5 runner docker 4.0K May 3 08:20 .. 1098 | -rw-r--r-- 1 runner docker 15K May 3 08:20 favicon.ico 1099 | -rw-r--r-- 1 runner docker 809 May 3 08:20 index.html 1100 | -rw-r--r-- 1 runner docker 181K May 3 08:20 main.234af0b273f6001b.js 1101 | -rw-r--r-- 1 runner docker 34K May 3 08:20 polyfills.65a06fed85d785f0.js 1102 | -rw-r--r-- 1 runner docker 896 May 3 08:20 runtime.6c9861ca6e26c512.js 1103 | -rw-r--r-- 1 runner docker 85 May 3 08:20 styles.9cc1c87275a936d2.css 1104 | total 252K 1105 | drwxr-xr-x 2 runner docker 4.0K May 3 08:20 . 1106 | drwxr-xr-x 3 runner docker 4.0K May 3 08:20 .. 1107 | -rw-r--r-- 1 runner docker 15K May 3 08:20 favicon.ico 1108 | -rw-r--r-- 1 runner docker 713 May 3 08:20 index.html 1109 | -rw-r--r-- 1 runner docker 183K May 3 08:20 main-KD4QAICK.js 1110 | -rw-r--r-- 1 runner docker 34K May 3 08:20 polyfills-6GG4SJ5I.js 1111 | -rw-r--r-- 1 runner docker 85 May 3 08:20 styles-IXCL2UTK.css 1112 | total 488K 1113 | drwxr-xr-x 2 runner docker 4.0K May 3 08:30 . 1114 | drwxr-xr-x 5 runner docker 4.0K May 3 08:30 .. 1115 | -rw-r--r-- 1 runner docker 15K May 3 08:30 favicon.ico 1116 | -rw-r--r-- 1 runner docker 590 May 3 08:30 index.html 1117 | -rw-r--r-- 1 runner docker 415K May 3 08:30 main.414fc0b065c146b68450.js 1118 | -rw-r--r-- 1 runner docker 33K May 3 08:30 polyfills.0086550284fc5c174ad6.js 1119 | -rw-r--r-- 1 runner docker 499 May 3 08:30 styles.1620bfe86cca3951a762.js 1120 | -rw-r--r-- 1 runner docker 84 May 3 08:30 styles.8caa6477d1586f6b9492.css 1121 | total 256K 1122 | drwxr-xr-x 2 runner docker 4.0K May 3 08:30 . 1123 | drwxr-xr-x 5 runner docker 4.0K May 3 08:30 .. 1124 | -rw-r--r-- 1 runner docker 15K May 3 08:30 favicon.ico 1125 | -rw-r--r-- 1 runner docker 809 May 3 08:30 index.html 1126 | -rw-r--r-- 1 runner docker 181K May 3 08:30 main.234af0b273f6001b.js 1127 | -rw-r--r-- 1 runner docker 34K May 3 08:30 polyfills.65a06fed85d785f0.js 1128 | -rw-r--r-- 1 runner docker 896 May 3 08:30 runtime.6c9861ca6e26c512.js 1129 | -rw-r--r-- 1 runner docker 85 May 3 08:30 styles.9cc1c87275a936d2.css 1130 | total 252K 1131 | drwxr-xr-x 2 runner docker 4.0K May 3 08:30 . 1132 | drwxr-xr-x 3 runner docker 4.0K May 3 08:30 .. 1133 | -rw-r--r-- 1 runner docker 15K May 3 08:30 favicon.ico 1134 | -rw-r--r-- 1 runner docker 713 May 3 08:30 index.html 1135 | -rw-r--r-- 1 runner docker 183K May 3 08:30 main-KD4QAICK.js 1136 | -rw-r--r-- 1 runner docker 34K May 3 08:30 polyfills-6GG4SJ5I.js 1137 | -rw-r--r-- 1 runner docker 85 May 3 08:30 styles-IXCL2UTK.css 1138 | total 488K 1139 | drwxr-xr-x 2 runner docker 4.0K May 5 07:45 . 1140 | drwxr-xr-x 5 runner docker 4.0K May 5 07:45 .. 1141 | -rw-r--r-- 1 runner docker 15K May 5 07:45 favicon.ico 1142 | -rw-r--r-- 1 runner docker 590 May 5 07:45 index.html 1143 | -rw-r--r-- 1 runner docker 415K May 5 07:45 main.5867769d7ad1047c3f14.js 1144 | -rw-r--r-- 1 runner docker 33K May 5 07:45 polyfills.267aea1f3c06c8d1ff19.js 1145 | -rw-r--r-- 1 runner docker 84 May 5 07:45 styles.57b01f490964266cb50e.css 1146 | -rw-r--r-- 1 runner docker 499 May 5 07:45 styles.d0bec9656a0186495ff1.js 1147 | total 256K 1148 | drwxr-xr-x 2 runner docker 4.0K May 5 07:45 . 1149 | drwxr-xr-x 5 runner docker 4.0K May 5 07:45 .. 1150 | -rw-r--r-- 1 runner docker 15K May 5 07:45 favicon.ico 1151 | -rw-r--r-- 1 runner docker 809 May 5 07:45 index.html 1152 | -rw-r--r-- 1 runner docker 181K May 5 07:45 main.234af0b273f6001b.js 1153 | -rw-r--r-- 1 runner docker 34K May 5 07:45 polyfills.65a06fed85d785f0.js 1154 | -rw-r--r-- 1 runner docker 896 May 5 07:45 runtime.6c9861ca6e26c512.js 1155 | -rw-r--r-- 1 runner docker 85 May 5 07:45 styles.9cc1c87275a936d2.css 1156 | total 252K 1157 | drwxr-xr-x 2 runner docker 4.0K May 5 07:45 . 1158 | drwxr-xr-x 3 runner docker 4.0K May 5 07:45 .. 1159 | -rw-r--r-- 1 runner docker 15K May 5 07:45 favicon.ico 1160 | -rw-r--r-- 1 runner docker 713 May 5 07:45 index.html 1161 | -rw-r--r-- 1 runner docker 183K May 5 07:45 main-KD4QAICK.js 1162 | -rw-r--r-- 1 runner docker 34K May 5 07:45 polyfills-6GG4SJ5I.js 1163 | -rw-r--r-- 1 runner docker 85 May 5 07:45 styles-IXCL2UTK.css 1164 | total 488K 1165 | drwxr-xr-x 2 runner docker 4.0K May 17 06:43 . 1166 | drwxr-xr-x 5 runner docker 4.0K May 17 06:43 .. 1167 | -rw-r--r-- 1 runner docker 15K May 17 06:43 favicon.ico 1168 | -rw-r--r-- 1 runner docker 590 May 17 06:43 index.html 1169 | -rw-r--r-- 1 runner docker 415K May 17 06:43 main.c91a9cdc70954c595e22.js 1170 | -rw-r--r-- 1 runner docker 33K May 17 06:43 polyfills.ff67025650e784610eb7.js 1171 | -rw-r--r-- 1 runner docker 84 May 17 06:43 styles.619576f9d5f1a6fc8d6f.css 1172 | -rw-r--r-- 1 runner docker 499 May 17 06:43 styles.a5f63b4da4d9424f86ea.js 1173 | total 256K 1174 | drwxr-xr-x 2 runner docker 4.0K May 17 06:43 . 1175 | drwxr-xr-x 5 runner docker 4.0K May 17 06:43 .. 1176 | -rw-r--r-- 1 runner docker 15K May 17 06:43 favicon.ico 1177 | -rw-r--r-- 1 runner docker 809 May 17 06:43 index.html 1178 | -rw-r--r-- 1 runner docker 182K May 17 06:43 main.c3a802e2c2d6b6cc.js 1179 | -rw-r--r-- 1 runner docker 34K May 17 06:43 polyfills.b8d62ff7be6a01fe.js 1180 | -rw-r--r-- 1 runner docker 896 May 17 06:43 runtime.6c9861ca6e26c512.js 1181 | -rw-r--r-- 1 runner docker 85 May 17 06:43 styles.9cc1c87275a936d2.css 1182 | total 252K 1183 | drwxr-xr-x 2 runner docker 4.0K May 17 06:43 . 1184 | drwxr-xr-x 3 runner docker 4.0K May 17 06:43 .. 1185 | -rw-r--r-- 1 runner docker 15K May 17 06:43 favicon.ico 1186 | -rw-r--r-- 1 runner docker 713 May 17 06:43 index.html 1187 | -rw-r--r-- 1 runner docker 184K May 17 06:43 main-BW2E7W2F.js 1188 | -rw-r--r-- 1 runner docker 34K May 17 06:43 polyfills-BL375M6J.js 1189 | -rw-r--r-- 1 runner docker 85 May 17 06:43 styles-IXCL2UTK.css 1190 | rspack \n 1191 | total 468K 1192 | drwxr-xr-x 2 runner docker 4.0K Jul 2 07:43 . 1193 | drwxr-xr-x 5 runner docker 4.0K Jul 2 07:43 .. 1194 | -rw-r--r-- 1 runner docker 15K Jul 2 07:43 favicon.ico 1195 | -rw-r--r-- 1 runner docker 590 Jul 2 07:43 index.html 1196 | -rw-r--r-- 1 runner docker 396K Jul 2 07:43 main.9d6c4a7ef06a440f2f1f.js 1197 | -rw-r--r-- 1 runner docker 34K Jul 2 07:43 polyfills.09ccf75527eaf59b0d6c.js 1198 | -rw-r--r-- 1 runner docker 617 Jul 2 07:43 styles.e0e7fda7ebfe4a6f6d6e.js 1199 | -rw-r--r-- 1 runner docker 84 Jul 2 07:43 styles.ef645d29da02e6aca141.css 1200 | webpack \n 1201 | total 256K 1202 | drwxr-xr-x 2 runner docker 4.0K Jul 2 07:43 . 1203 | drwxr-xr-x 5 runner docker 4.0K Jul 2 07:43 .. 1204 | -rw-r--r-- 1 runner docker 15K Jul 2 07:43 favicon.ico 1205 | -rw-r--r-- 1 runner docker 809 Jul 2 07:43 index.html 1206 | -rw-r--r-- 1 runner docker 182K Jul 2 07:43 main.a93b483def359c1e.js 1207 | -rw-r--r-- 1 runner docker 34K Jul 2 07:43 polyfills.6e67a244f817e3e4.js 1208 | -rw-r--r-- 1 runner docker 896 Jul 2 07:43 runtime.6c9861ca6e26c512.js 1209 | -rw-r--r-- 1 runner docker 85 Jul 2 07:43 styles.9cc1c87275a936d2.css 1210 | esbuild \n 1211 | total 252K 1212 | drwxr-xr-x 2 runner docker 4.0K Jul 2 07:43 . 1213 | drwxr-xr-x 3 runner docker 4.0K Jul 2 07:43 .. 1214 | -rw-r--r-- 1 runner docker 15K Jul 2 07:43 favicon.ico 1215 | -rw-r--r-- 1 runner docker 713 Jul 2 07:43 index.html 1216 | -rw-r--r-- 1 runner docker 184K Jul 2 07:43 main-HPEBSWYP.js 1217 | -rw-r--r-- 1 runner docker 34K Jul 2 07:43 polyfills-PSWKUJN4.js 1218 | -rw-r--r-- 1 runner docker 85 Jul 2 07:43 styles-IXCL2UTK.css 1219 | rspack \n 1220 | total 256K 1221 | drwxr-xr-x 2 runner docker 4.0K Jul 2 10:10 . 1222 | drwxr-xr-x 5 runner docker 4.0K Jul 2 10:10 .. 1223 | -rw-r--r-- 1 runner docker 15K Jul 2 10:10 favicon.ico 1224 | -rw-r--r-- 1 runner docker 590 Jul 2 10:10 index.html 1225 | -rw-r--r-- 1 runner docker 181K Jul 2 10:10 main.8402a08083f9ffd7f5d6.js 1226 | -rw-r--r-- 1 runner docker 34K Jul 2 10:10 polyfills.491890645d75044cefc4.js 1227 | -rw-r--r-- 1 runner docker 553 Jul 2 10:10 styles.24bed197f0b82bcfbe25.js 1228 | -rw-r--r-- 1 runner docker 85 Jul 2 10:10 styles.9772180243f969fe9c99.css 1229 | webpack \n 1230 | total 256K 1231 | drwxr-xr-x 2 runner docker 4.0K Jul 2 10:10 . 1232 | drwxr-xr-x 5 runner docker 4.0K Jul 2 10:10 .. 1233 | -rw-r--r-- 1 runner docker 15K Jul 2 10:10 favicon.ico 1234 | -rw-r--r-- 1 runner docker 809 Jul 2 10:10 index.html 1235 | -rw-r--r-- 1 runner docker 182K Jul 2 10:10 main.a93b483def359c1e.js 1236 | -rw-r--r-- 1 runner docker 34K Jul 2 10:10 polyfills.6e67a244f817e3e4.js 1237 | -rw-r--r-- 1 runner docker 896 Jul 2 10:10 runtime.6c9861ca6e26c512.js 1238 | -rw-r--r-- 1 runner docker 85 Jul 2 10:10 styles.9cc1c87275a936d2.css 1239 | esbuild \n 1240 | total 252K 1241 | drwxr-xr-x 2 runner docker 4.0K Jul 2 10:10 . 1242 | drwxr-xr-x 3 runner docker 4.0K Jul 2 10:10 .. 1243 | -rw-r--r-- 1 runner docker 15K Jul 2 10:10 favicon.ico 1244 | -rw-r--r-- 1 runner docker 713 Jul 2 10:10 index.html 1245 | -rw-r--r-- 1 runner docker 184K Jul 2 10:10 main-HPEBSWYP.js 1246 | -rw-r--r-- 1 runner docker 34K Jul 2 10:10 polyfills-PSWKUJN4.js 1247 | -rw-r--r-- 1 runner docker 85 Jul 2 10:10 styles-IXCL2UTK.css 1248 | rspack 1249 | total 256K 1250 | drwxr-xr-x 2 runner docker 4.0K Jul 3 11:50 . 1251 | drwxr-xr-x 5 runner docker 4.0K Jul 3 11:50 .. 1252 | -rw-r--r-- 1 runner docker 15K Jul 3 11:50 favicon.ico 1253 | -rw-r--r-- 1 runner docker 590 Jul 3 11:50 index.html 1254 | -rw-r--r-- 1 runner docker 181K Jul 3 11:50 main.8402a08083f9ffd7f5d6.js 1255 | -rw-r--r-- 1 runner docker 34K Jul 3 11:50 polyfills.491890645d75044cefc4.js 1256 | -rw-r--r-- 1 runner docker 553 Jul 3 11:50 styles.957b630bce983f3246c2.js 1257 | -rw-r--r-- 1 runner docker 85 Jul 3 11:50 styles.9772180243f969fe9c99.css 1258 | webpack 1259 | total 256K 1260 | drwxr-xr-x 2 runner docker 4.0K Jul 3 11:50 . 1261 | drwxr-xr-x 5 runner docker 4.0K Jul 3 11:50 .. 1262 | -rw-r--r-- 1 runner docker 15K Jul 3 11:50 favicon.ico 1263 | -rw-r--r-- 1 runner docker 809 Jul 3 11:50 index.html 1264 | -rw-r--r-- 1 runner docker 182K Jul 3 11:50 main.586b22fd355dcb1d.js 1265 | -rw-r--r-- 1 runner docker 34K Jul 3 11:50 polyfills.6e67a244f817e3e4.js 1266 | -rw-r--r-- 1 runner docker 896 Jul 3 11:50 runtime.6c9861ca6e26c512.js 1267 | -rw-r--r-- 1 runner docker 85 Jul 3 11:50 styles.9cc1c87275a936d2.css 1268 | esbuild 1269 | total 252K 1270 | drwxr-xr-x 2 runner docker 4.0K Jul 3 11:50 . 1271 | drwxr-xr-x 3 runner docker 4.0K Jul 3 11:50 .. 1272 | -rw-r--r-- 1 runner docker 15K Jul 3 11:50 favicon.ico 1273 | -rw-r--r-- 1 runner docker 713 Jul 3 11:50 index.html 1274 | -rw-r--r-- 1 runner docker 184K Jul 3 11:50 main-FS4FMQS6.js 1275 | -rw-r--r-- 1 runner docker 34K Jul 3 11:50 polyfills-PSWKUJN4.js 1276 | -rw-r--r-- 1 runner docker 85 Jul 3 11:50 styles-IXCL2UTK.css 1277 | rspack 1278 | total 772K 1279 | drwxr-xr-x 2 runner docker 4.0K Jul 3 21:12 . 1280 | drwxr-xr-x 5 runner docker 4.0K Jul 3 21:12 .. 1281 | -rw-r--r-- 1 runner docker 253K Jul 3 21:12 259.f0e21c407afaefc92d1b.js 1282 | -rw-r--r-- 1 runner docker 67K Jul 3 21:12 487.63372d6c43d732c1909b.js 1283 | -rw-r--r-- 1 runner docker 179 Jul 3 21:12 @mf-types.d.ts 1284 | -rw-r--r-- 1 runner docker 1.1K Jul 3 21:12 @mf-types.zip 1285 | -rw-r--r-- 1 runner docker 1.7K Jul 3 21:12 __federation_expose_app.b2c07e48a83e66498338.js 1286 | -rw-r--r-- 1 runner docker 15K Jul 3 21:12 favicon.ico 1287 | -rw-r--r-- 1 runner docker 766 Jul 3 21:12 index.html 1288 | -rw-r--r-- 1 runner docker 99K Jul 3 21:12 main.2a763284103d89113f8d.js 1289 | -rw-r--r-- 1 runner docker 1.8K Jul 3 21:12 mf-manifest.json 1290 | -rw-r--r-- 1 runner docker 2.1K Jul 3 21:12 mf-stats.json 1291 | -rw-r--r-- 1 runner docker 85K Jul 3 21:12 mfe1.11f8eef18944cc678363.js 1292 | -rw-r--r-- 1 runner docker 119K Jul 3 21:12 polyfills.19572ff317c15969b5b1.js 1293 | -rw-r--r-- 1 runner docker 85 Jul 3 21:12 styles.9772180243f969fe9c99.css 1294 | -rw-r--r-- 1 runner docker 86K Jul 3 21:12 styles.c235a767cf7f0bf7c11f.js 1295 | webpack 1296 | total 160K 1297 | drwxr-xr-x 2 runner docker 4.0K Jul 3 21:12 . 1298 | drwxr-xr-x 5 runner docker 4.0K Jul 3 21:12 .. 1299 | -rw-r--r-- 1 runner docker 15K Jul 3 21:12 favicon.ico 1300 | -rw-r--r-- 1 runner docker 809 Jul 3 21:12 index.html 1301 | -rw-r--r-- 1 runner docker 86K Jul 3 21:12 main.37ed97ca0e4da807.js 1302 | -rw-r--r-- 1 runner docker 34K Jul 3 21:12 polyfills.733c87b21f3ac969.js 1303 | -rw-r--r-- 1 runner docker 886 Jul 3 21:12 runtime.d947c069a8b27bc8.js 1304 | -rw-r--r-- 1 runner docker 85 Jul 3 21:12 styles.9cc1c87275a936d2.css 1305 | esbuild 1306 | total 156K 1307 | drwxr-xr-x 2 runner docker 4.0K Jul 3 21:11 . 1308 | drwxr-xr-x 3 runner docker 4.0K Jul 3 21:11 .. 1309 | -rw-r--r-- 1 runner docker 15K Jul 3 21:11 favicon.ico 1310 | -rw-r--r-- 1 runner docker 713 Jul 3 21:11 index.html 1311 | -rw-r--r-- 1 runner docker 88K Jul 3 21:11 main-S7F6LYFR.js 1312 | -rw-r--r-- 1 runner docker 34K Jul 3 21:11 polyfills-PSWKUJN4.js 1313 | -rw-r--r-- 1 runner docker 85 Jul 3 21:11 styles-IXCL2UTK.css 1314 | -------------------------------------------------------------------------------- /nx.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/nx/schemas/nx-schema.json", 3 | "namedInputs": { 4 | "default": ["{projectRoot}/**/*", "sharedGlobals"], 5 | "production": [ 6 | "default", 7 | "!{projectRoot}/.eslintrc.json", 8 | "!{projectRoot}/eslint.config.js", 9 | "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)", 10 | "!{projectRoot}/tsconfig.spec.json", 11 | "!{projectRoot}/jest.config.[jt]s", 12 | "!{projectRoot}/src/test-setup.[jt]s", 13 | "!{projectRoot}/test-setup.[jt]s" 14 | ], 15 | "sharedGlobals": [] 16 | }, 17 | "targetDefaults": { 18 | "build": { 19 | "cache": false 20 | }, 21 | "@nx/jest:jest": { 22 | "cache": true, 23 | "inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"], 24 | "options": { 25 | "passWithNoTests": true 26 | }, 27 | "configurations": { 28 | "ci": { 29 | "ci": true, 30 | "codeCoverage": true 31 | } 32 | } 33 | } 34 | }, 35 | "defaultProject": "host" 36 | } 37 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@ng-rspack/source", 3 | "version": "0.0.0", 4 | "license": "MIT", 5 | "scripts": { 6 | "start": "nx serve", 7 | "build": "nx build", 8 | "test": "nx test" 9 | }, 10 | "private": true, 11 | "dependencies": { 12 | "@angular/animations": "~17.3.0", 13 | "@angular/common": "~17.3.0", 14 | "@angular/compiler": "~17.3.0", 15 | "@angular/core": "~17.3.0", 16 | "@angular/forms": "~17.3.0", 17 | "@angular/platform-browser": "~17.3.0", 18 | "@angular/platform-browser-dynamic": "~17.3.0", 19 | "@angular/router": "~17.3.0", 20 | "@module-federation/enhanced": "^0.2.3", 21 | "@nx/angular": "18.3.4", 22 | "rxjs": "~7.8.0", 23 | "tslib": "^2.3.0", 24 | "zone.js": "~0.14.3" 25 | }, 26 | "devDependencies": { 27 | "@angular-devkit/build-angular": "~17.3.0", 28 | "@angular-devkit/core": "~17.3.0", 29 | "@angular-devkit/schematics": "~17.3.0", 30 | "@angular-eslint/eslint-plugin": "~17.3.0", 31 | "@angular-eslint/eslint-plugin-template": "~17.3.0", 32 | "@angular-eslint/template-parser": "~17.3.0", 33 | "@angular/cli": "~17.3.0", 34 | "@angular/compiler-cli": "~17.3.0", 35 | "@angular/language-service": "~17.3.0", 36 | "@ngtools/webpack": "^17.3.6", 37 | "@nx/devkit": "18.3.4", 38 | "@nx/eslint": "18.3.4", 39 | "@nx/eslint-plugin": "18.3.4", 40 | "@nx/jest": "18.3.4", 41 | "@nx/js": "18.3.4", 42 | "@nx/rspack": "^18.3.0", 43 | "@nx/workspace": "18.3.4", 44 | "@rspack/cli": "1.0.0-alpha.0", 45 | "@rspack/core": "1.0.0-alpha.0", 46 | "@schematics/angular": "~17.3.0", 47 | "@swc-node/register": "~1.8.0", 48 | "@swc/core": "~1.3.85", 49 | "@swc/helpers": "~0.5.2", 50 | "@types/jest": "^29.4.0", 51 | "@types/node": "18.16.9", 52 | "@typescript-eslint/eslint-plugin": "^7.3.0", 53 | "@typescript-eslint/parser": "^7.3.0", 54 | "browserslist": "^4.23.0", 55 | "css-loader": "^7.1.1", 56 | "css-minimizer-webpack-plugin": "^6.0.0", 57 | "eslint": "~8.57.0", 58 | "eslint-config-prettier": "^9.0.0", 59 | "jest": "^29.4.1", 60 | "jest-environment-jsdom": "^29.4.1", 61 | "jest-preset-angular": "~14.0.3", 62 | "lightningcss": "^1.24.1", 63 | "nx": "18.3.4", 64 | "prettier": "^2.6.2", 65 | "raw-loader": "^4.0.2", 66 | "sass": "^1.76.0", 67 | "sass-embedded": "^1.77.5", 68 | "sass-loader": "^14.2.1", 69 | "terser-webpack-plugin": "5.3.10", 70 | "ts-jest": "^29.1.0", 71 | "ts-node": "10.9.1", 72 | "typescript": "~5.4.2" 73 | }, 74 | "resolutions": { 75 | "@rspack/cli": "1.0.0-alpha.0", 76 | "@rspack/core": "1.0.0-alpha.0" 77 | }, 78 | "nx": { 79 | "includedScripts": [] 80 | }, 81 | "packageManager": "pnpm@9.1.1+sha512.14e915759c11f77eac07faba4d019c193ec8637229e62ec99eefb7cf3c3b75c64447882b7c485142451ee3a6b408059cdfb7b7fa0341b975f12d0f7629c71195" 82 | } 83 | -------------------------------------------------------------------------------- /perf.md: -------------------------------------------------------------------------------- 1 | | Command | Mean [s] | Min [s] | Max [s] | Relative | 2 | |:---|---:|---:|---:|---:| 3 | | `Webpack` | 11.533 ± 0.146 | 11.350 | 11.711 | 1.64 ± 0.03 | 4 | | `Rspack` | 13.792 ± 0.172 | 13.537 | 14.062 | 1.96 ± 0.04 | 5 | | `Esbuild` | 7.025 ± 0.109 | 6.834 | 7.163 | 1.00 | 6 | -------------------------------------------------------------------------------- /tsconfig.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "rootDir": ".", 5 | "sourceMap": true, 6 | "declaration": false, 7 | "moduleResolution": "node", 8 | "emitDecoratorMetadata": true, 9 | "experimentalDecorators": true, 10 | "importHelpers": true, 11 | "target": "es2022", 12 | "module": "esnext", 13 | "lib": ["es2020", "dom"], 14 | "skipLibCheck": true, 15 | "skipDefaultLibCheck": true, 16 | "baseUrl": ".", 17 | "paths": {} 18 | }, 19 | "exclude": ["node_modules", "tmp"] 20 | } 21 | --------------------------------------------------------------------------------