@trackunit/iris-app-sdk-rspack 1.3.152 → 1.3.153
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## 1.3.153 (2025-06-11)
|
|
2
|
+
|
|
3
|
+
### 🧱 Updated Dependencies
|
|
4
|
+
|
|
5
|
+
- Updated iris-app-build-utilities to 1.3.148
|
|
6
|
+
- Updated iris-app-webpack-plugin to 1.3.149
|
|
7
|
+
- Updated iris-app-api to 1.3.148
|
|
8
|
+
- Updated shared-utils to 1.5.141
|
|
9
|
+
|
|
1
10
|
## 1.3.152 (2025-06-11)
|
|
2
11
|
|
|
3
12
|
### 🧱 Updated Dependencies
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/iris-app-sdk-rspack",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.153",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"repository": "https://github.com/Trackunit/manager",
|
|
6
6
|
"executors": "./executors.json",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"pacote": "17.0.6",
|
|
17
17
|
"semver": "7.5.4",
|
|
18
18
|
"webpack-bundle-analyzer": "^4.8.0",
|
|
19
|
-
"@trackunit/iris-app-build-utilities": "1.3.
|
|
20
|
-
"@trackunit/shared-utils": "1.5.
|
|
21
|
-
"@trackunit/iris-app-api": "1.3.
|
|
22
|
-
"@trackunit/iris-app-webpack-plugin": "1.3.
|
|
19
|
+
"@trackunit/iris-app-build-utilities": "1.3.148",
|
|
20
|
+
"@trackunit/shared-utils": "1.5.141",
|
|
21
|
+
"@trackunit/iris-app-api": "1.3.148",
|
|
22
|
+
"@trackunit/iris-app-webpack-plugin": "1.3.149",
|
|
23
23
|
"tslib": "^2.6.2"
|
|
24
24
|
},
|
|
25
25
|
"types": "./src/index.d.ts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/build/executor.ts"],"names":[],"mappings":";;AAmCA,4BAkFC;;AAnHD,wEAAoE;AACpE,kFAAyE;AACzE,2BAA4B;AAC5B,+BAAqC;AACrC,+BAAkC;AAClC,2DAAqC;AAGrC,kBAAgB;AAChB,sEAAmE;AACnE,sEAAgE;AAQhE,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAE,EAAE;IAC3D,MAAM,kBAAkB,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAA,WAAM,EAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF;;;;;;GAMG;AACY,KAAK,SAAS,CAAC,WAAE,OAA4B,EAAE,OAAwB;IACpF,MAAM,IAAA,yCAAmB,EAAC,KAAK,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAY,CAAE,CAAC,IAAI,CAAC;IACxF,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACjF,IAAA,6CAAkB,EAAC;QACjB,cAAc;KACf,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,eAAe,GAAG,CAAC,yBAAa,gBAAgB,+CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,IAAA,sCAAgB,EAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAEnH,MAAM,gBAAgB,GAAG,yBAAa,OAAO,CAAC,YAAY,+CAAC,CAAC;IAE5D,IAAI,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,YAAY,OAAO,CAAC;IAC5C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,MAAM,MAAM,CAAC;IACxB,CAAC;IACD,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,iBAAU,CAAC,UAAU,CAAC,EAAE;QAC7C,2IAA2I;QAC3I,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,MAAuB,CAAC,CAAC;QAEzE,sBAAsB;QACtB,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/build/executor.ts"],"names":[],"mappings":";;AAmCA,4BAkFC;;AAnHD,wEAAoE;AACpE,kFAAyE;AACzE,2BAA4B;AAC5B,+BAAqC;AACrC,+BAAkC;AAClC,2DAAqC;AAGrC,kBAAgB;AAChB,sEAAmE;AACnE,sEAAgE;AAQhE,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAE,EAAE;IAC3D,MAAM,kBAAkB,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAA,WAAM,EAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF;;;;;;GAMG;AACY,KAAK,SAAS,CAAC,WAAE,OAA4B,EAAE,OAAwB;IACpF,MAAM,IAAA,yCAAmB,EAAC,KAAK,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAY,CAAE,CAAC,IAAI,CAAC;IACxF,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACjF,IAAA,6CAAkB,EAAC;QACjB,cAAc;KACf,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,eAAe,GAAG,CAAC,yBAAa,gBAAgB,+CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,IAAA,sCAAgB,EAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAEnH,MAAM,gBAAgB,GAAG,yBAAa,OAAO,CAAC,YAAY,+CAAC,CAAC;IAE5D,IAAI,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,YAAY,OAAO,CAAC;IAC5C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,MAAM,MAAM,CAAC;IACxB,CAAC;IACD,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,iBAAU,CAAC,UAAU,CAAC,EAAE;QAC7C,2IAA2I;QAC3I,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,MAAuB,CAAC,CAAC;QAEzE,sBAAsB;QACtB,MAAM,OAAO,GAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAiB,EAAE,EAAE;gBACnC,IAAI,GAAG,EAAE,CAAC;oBACR,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAiB,EAAE,KAAU,EAAE,EAAE;YAC7C,IAAI,GAAG,EAAE,CAAC;gBACR,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAiB,EAAE,EAAE;gBACnC,IAAI,GAAG,EAAE,CAAC;oBACR,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC,IAAI,CACL,EAAE,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;QACpB,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,EACF,EAAE,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;QACpB,+DAA+D;QAC/D,OAAO;YACL,OAAO,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE;YAC3B,OAAO,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;SACjC,CAAC;IACtB,CAAC,CAAC,CACH,CAAC;IAEF,+DAA+D;IAC/D,OAAO,KAAK,CAAC,CAAC,IAAA,8BAAa,EAAC,UAA6B,CAAC,CAAC;AAC7D,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ExecutorContext } from \"@nx/devkit\";\nimport { eachValueFrom } from \"@nx/devkit/src/utils/rxjs-for-await\";\nimport { enableTsConfigPath } from \"@trackunit/iris-app-build-utilities\";\nimport { rmSync } from \"fs\";\nimport { join, resolve } from \"path\";\nimport { Observable } from \"rxjs\";\nimport * as op from \"rxjs/operators\";\n\nimport { Configuration } from \"@rspack/core\";\nimport \"win-ca\";\nimport { checkPackageVersion } from \"../utils/checkPackageVersion\";\nimport { getDefaultConfig } from \"../utils/defaultRspackConfig\";\nimport { BuildExecutorSchema } from \"./schema\";\n\nexport type NodeBuildEvent = {\n outfile: string;\n success: boolean;\n};\n\nconst deleteOutputDir = (root: string, outputPath: string) => {\n const resolvedOutputPath = resolve(root, outputPath);\n if (resolvedOutputPath === root) {\n throw new Error(\"Output path MUST not be project root directory!\");\n }\n rmSync(resolvedOutputPath, { recursive: true, force: true });\n};\n\n/**\n * Build executor for building iris apps.\n *\n * @param {BuildExecutorSchema} options build executor options for this nx executor\n * @param {ExecutorContext} context build executor context for this nx executor\n * @yields {NodeBuildEvent} the build event\n */\nexport default async function* (options: BuildExecutorSchema, context: ExecutorContext) {\n await checkPackageVersion(false);\n const projectRoot = context.projectsConfigurations.projects[context.projectName!]!.root;\n const projectRootDir = join(context.root, projectRoot);\n const tileManifestPath = join(context.root, projectRoot, \"iris-app-manifest.ts\");\n enableTsConfigPath({\n projectRootDir,\n });\n if (!options.rspackConfig) {\n throw new Error(\"option.rspackConfig is required\");\n }\n const IrisAppManifest = (await import(tileManifestPath)).default;\n const defaultConfig = await getDefaultConfig(\"production\", context.root, projectRootDir, IrisAppManifest, context);\n\n const customConfigFile = await import(options.rspackConfig);\n\n let config = customConfigFile.default(await defaultConfig);\n const isPromise = config instanceof Promise;\n if (isPromise) {\n config = await config;\n }\n deleteOutputDir(context.root, options.outputPath);\n const observable = new Observable(subscriber => {\n // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires, local-rules/no-typescript-assertion\n const compiler = require(\"@rspack/core\").rspack(config as Configuration);\n\n // Add signal handlers\n const signals: Array<NodeJS.Signals> = [\"SIGINT\", \"SIGTERM\", \"SIGQUIT\"];\n const cleanup = () => {\n compiler.close((err: Error | null) => {\n if (err) {\n // eslint-disable-next-line no-console\n console.error(err);\n }\n process.exit(0);\n });\n };\n\n signals.forEach(signal => {\n process.on(signal, cleanup);\n });\n\n compiler.run((err: Error | null, stats: any) => {\n if (err) {\n // eslint-disable-next-line no-console\n console.error(err);\n subscriber.error(err);\n return;\n }\n\n subscriber.next(stats);\n subscriber.complete();\n });\n\n // Update cleanup function to remove signal handlers\n return () => {\n signals.forEach(signal => {\n process.off(signal, cleanup);\n });\n compiler.close((err: Error | null) => {\n if (err) {\n // eslint-disable-next-line no-console\n console.error(err);\n }\n });\n };\n }).pipe(\n op.tap((stats: any) => {\n // eslint-disable-next-line no-console\n console.info(stats.toString(config.stats));\n }),\n op.map((stats: any) => {\n // eslint-disable-next-line local-rules/no-typescript-assertion\n return {\n success: !stats.hasErrors(),\n outfile: resolve(context.root, options.outputPath),\n } as NodeBuildEvent;\n })\n );\n\n // eslint-disable-next-line local-rules/no-typescript-assertion\n return yield* eachValueFrom(observable as Observable<any>);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultRspackConfig.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/utils/defaultRspackConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExecutorContext } from \"@nx/devkit\";\nimport * as rspack from \"@rspack/core\";\nimport { IrisAppManifest, isIconByPath, serverSideExtensionTypes } from \"@trackunit/iris-app-api\";\nimport {\n getAliasesFromTsConfig,\n getExposedExtensions,\n getIrisAppWebpackDevServer,\n getSharedDependencies,\n} from \"@trackunit/iris-app-build-utilities\";\nimport { TrackunitIrisAppWebpackPlugin } from \"@trackunit/iris-app-webpack-plugin\";\nimport { truthy } from \"@trackunit/shared-utils\";\nimport * as path from \"path\";\n\nlet BundleAnalyzerPlugin: rspack.WebpackPluginInstance | null = null;\nif (process.env.BUNDLE_ANALYSE === \"true\") {\n // doing require here to avoid dependency on webpack-bundle-analyzer directly\n // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports\n const BundleAnalyzerPluginConstructor = require(\"webpack-bundle-analyzer\").BundleAnalyzerPlugin;\n BundleAnalyzerPlugin = new BundleAnalyzerPluginConstructor({ analyzerMode: \"static\" });\n}\n\n/**\n * Gets the default webpack config.\n *\n * @param mode mode either \"production\" or \"development\"\n * @param nxRootDir the root of the nx workspace\n * @param appDir the app directory\n * @param irisAppManifest the iris app manifest\n * @returns { Promise<rspack.Configuration> } the default webpack config\n */\nexport const getDefaultConfig = async (\n mode: \"production\" | \"development\",\n nxRootDir: string,\n appDir: string,\n irisAppManifest: IrisAppManifest,\n context: ExecutorContext\n): Promise<rspack.Configuration> => {\n const relativeAppDir = appDir.split(nxRootDir)[1] || \"<unknown appdir>\";\n const iconPaths = irisAppManifest.extensions\n .map(extension => {\n if (extension.type === \"FLEET_EXTENSION\" && extension.menuItem.image && isIconByPath(extension.menuItem.image)) {\n return {\n extensionId: extension.id,\n path: extension.menuItem.image.path,\n sourceRoot: extension.sourceRoot,\n };\n }\n return null;\n })\n .filter(truthy);\n const widgetIconPaths = irisAppManifest.extensions\n .map(extension => {\n if (\n extension.type === \"WIDGET_EXTENSION\" &&\n extension.footer?.poweredByImage &&\n isIconByPath(extension.footer.poweredByImage)\n ) {\n return {\n extensionId: extension.id,\n path: extension.footer.poweredByImage.path,\n sourceRoot: extension.sourceRoot,\n };\n }\n if (extension.type === \"WIDGET_EXTENSION\" && extension.header.image && isIconByPath(extension.header.image)) {\n return {\n extensionId: extension.id,\n path: extension.header.image.path,\n sourceRoot: extension.sourceRoot,\n };\n }\n return null;\n })\n .filter(truthy);\n\n const copyPatterns = [\n ...irisAppManifest.extensions\n .filter(extension => mode === \"production\" && serverSideExtensionTypes.includes(extension.type))\n .flatMap(extension => {\n const patterns: { from: string; to: string }[] = [\n {\n //globs must use / in path to be valid\n from: path.resolve(nxRootDir, extension.sourceRoot.replace(/\\\\/g, \"/\")),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"serverside\", extension.id),\n },\n ];\n\n // Check if extension has dependencyDefinitionFile and add it to patterns if it exists\n if (\"dependencyDefinitionFile\" in extension && extension.dependencyDefinitionFile) {\n patterns.push({\n //globs must use / in path to be valid\n from: path.resolve(nxRootDir, extension.dependencyDefinitionFile.replace(/\\\\/g, \"/\")),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"serverside\", extension.id),\n });\n }\n\n return patterns;\n }),\n {\n //globs must use / in path to be valid\n from: path.join(appDir, \"assets/\").replace(/\\\\/g, \"/\"),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"assets\"),\n },\n ...[...iconPaths, ...widgetIconPaths].map(iconPath => ({\n //globs must use / in path to be valid\n from: path.join(nxRootDir, iconPath.sourceRoot, iconPath.path).replace(/\\\\/g, \"/\"),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, iconPath.extensionId, iconPath.path),\n })),\n ];\n const combinedConfig = async (incomingConfig: rspack.Configuration): Promise<rspack.Configuration> => {\n return {\n ...incomingConfig,\n mode: mode,\n output: {\n publicPath: \"auto\",\n path: path.join(nxRootDir, \"dist\", relativeAppDir),\n },\n target: \"web\",\n entry: {},\n devtool: false,\n devServer: await getIrisAppWebpackDevServer(),\n resolve: {\n extensions: [\".tsx\", \".ts\", \".jsx\", \".js\", \".json\"],\n alias: await getAliasesFromTsConfig({ nxRootDir }),\n },\n optimization:\n mode === \"production\"\n ? incomingConfig.optimization\n : {\n ...incomingConfig.optimization,\n splitChunks: {\n cacheGroups: {\n translations: {\n test: /[\\\\/]locales[\\\\/](.*?)[\\\\/]translation\\.json$/,\n name(module) {\n // Extract the language code from the path\n const match = module.resource?.match(/[\\\\/]locales[\\\\/](.*?)[\\\\/]translation\\.json$/);\n const language = match ? match[1] : \"unknown\";\n return `translations-${language}`;\n },\n chunks: \"all\",\n enforce: true,\n priority: 10,\n },\n },\n },\n },\n module: {\n rules: [\n {\n test: /\\.(jsx?|tsx?)$/,\n exclude: /(vendor|node_modules|dist)/,\n loader: \"builtin:swc-loader\",\n options: {\n jsc: {\n parser: {\n syntax: \"typescript\",\n jsx: true,\n },\n transform: {\n react: {\n runtime: \"automatic\",\n },\n },\n },\n },\n },\n {\n test: /\\.svg$/,\n issuer: /\\.[jt]sx?$/,\n oneOf: [\n {\n resourceQuery: /react/, // if import has ?react in the query so .svg?react\n use: [\n {\n loader: \"@svgr/webpack\",\n options: {\n typescript: true,\n svgo: false,\n titleProp: true,\n ref: true,\n exportType: \"named\",\n namedExport: \"ReactComponent\",\n },\n },\n ],\n },\n {\n type: \"asset\",\n generator: {\n filename: mode === \"production\" ? \"static/media/[hash][ext]\" : \"static/media/[name][ext]\",\n },\n },\n ],\n },\n {\n test: /\\.ico|.png|.jpe?g|.gif|.eot|.ttf|.woff|.woff2$/,\n type: \"asset\",\n },\n {\n test: /\\.(js|mjs)$/,\n include: [\n /node_modules\\/@apollo\\/client/,\n /node_modules\\/framer-motion/,\n /node_modules\\/uuid/,\n /node_modules\\/html-parse-stringify/,\n ],\n type: \"javascript/auto\",\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.(css|s[ac]ss)$/i,\n use: [\n \"style-loader\",\n \"css-loader\",\n {\n loader: \"postcss-loader\",\n options: {\n postcssOptions: {\n plugins: {\n \"postcss-import\": {},\n \"tailwindcss/nesting\": {},\n tailwindcss: {\n config: path.resolve(appDir, \"tailwind.config.js\"),\n },\n autoprefixer: {},\n },\n },\n },\n },\n ],\n },\n ],\n },\n plugins: [\n new rspack.container.ModuleFederationPlugin({\n name: irisAppManifest.moduleFederationName,\n filename: \"remoteEntry.js\",\n library: { type: \"global\", name: irisAppManifest.moduleFederationName },\n remotes: {},\n exposes: await getExposedExtensions({\n nxRootDir,\n manifest: irisAppManifest,\n }),\n shared: await getSharedDependencies({ manifest: irisAppManifest }),\n }),\n\n new TrackunitIrisAppWebpackPlugin({\n nxRootDir: nxRootDir,\n appDir,\n manifest: irisAppManifest,\n }),\n new rspack.DefinePlugin({\n \"process.env.IRIS_APP_SENTRY_DSN\": JSON.stringify(\"\"),\n \"process.env.IRIS_APP_VERSION\": JSON.stringify(\"\"),\n }),\n new rspack.CopyRspackPlugin({\n patterns: copyPatterns,\n }),\n BundleAnalyzerPlugin,\n ].filter(Boolean),\n };\n };\n\n return await combinedConfig({});\n};\n"]}
|
|
1
|
+
{"version":3,"file":"defaultRspackConfig.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/utils/defaultRspackConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExecutorContext } from \"@nx/devkit\";\nimport * as rspack from \"@rspack/core\";\nimport { IrisAppManifest, isIconByPath, serverSideExtensionTypes } from \"@trackunit/iris-app-api\";\nimport {\n getAliasesFromTsConfig,\n getExposedExtensions,\n getIrisAppWebpackDevServer,\n getSharedDependencies,\n} from \"@trackunit/iris-app-build-utilities\";\nimport { TrackunitIrisAppWebpackPlugin } from \"@trackunit/iris-app-webpack-plugin\";\nimport { truthy } from \"@trackunit/shared-utils\";\nimport * as path from \"path\";\n\nlet BundleAnalyzerPlugin: rspack.WebpackPluginInstance | null = null;\nif (process.env.BUNDLE_ANALYSE === \"true\") {\n // doing require here to avoid dependency on webpack-bundle-analyzer directly\n // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports\n const BundleAnalyzerPluginConstructor = require(\"webpack-bundle-analyzer\").BundleAnalyzerPlugin;\n BundleAnalyzerPlugin = new BundleAnalyzerPluginConstructor({ analyzerMode: \"static\" });\n}\n\n/**\n * Gets the default webpack config.\n *\n * @param mode mode either \"production\" or \"development\"\n * @param nxRootDir the root of the nx workspace\n * @param appDir the app directory\n * @param irisAppManifest the iris app manifest\n * @returns { Promise<rspack.Configuration> } the default webpack config\n */\nexport const getDefaultConfig = async (\n mode: \"production\" | \"development\",\n nxRootDir: string,\n appDir: string,\n irisAppManifest: IrisAppManifest,\n context: ExecutorContext\n): Promise<rspack.Configuration> => {\n const relativeAppDir = appDir.split(nxRootDir)[1] || \"<unknown appdir>\";\n const iconPaths = irisAppManifest.extensions\n .map(extension => {\n if (extension.type === \"FLEET_EXTENSION\" && extension.menuItem.image && isIconByPath(extension.menuItem.image)) {\n return {\n extensionId: extension.id,\n path: extension.menuItem.image.path,\n sourceRoot: extension.sourceRoot,\n };\n }\n return null;\n })\n .filter(truthy);\n const widgetIconPaths = irisAppManifest.extensions\n .map(extension => {\n if (\n extension.type === \"WIDGET_EXTENSION\" &&\n extension.footer?.poweredByImage &&\n isIconByPath(extension.footer.poweredByImage)\n ) {\n return {\n extensionId: extension.id,\n path: extension.footer.poweredByImage.path,\n sourceRoot: extension.sourceRoot,\n };\n }\n if (extension.type === \"WIDGET_EXTENSION\" && extension.header.image && isIconByPath(extension.header.image)) {\n return {\n extensionId: extension.id,\n path: extension.header.image.path,\n sourceRoot: extension.sourceRoot,\n };\n }\n return null;\n })\n .filter(truthy);\n\n const copyPatterns = [\n ...irisAppManifest.extensions\n .filter(extension => mode === \"production\" && serverSideExtensionTypes.includes(extension.type))\n .flatMap(extension => {\n const patterns: Array<{ from: string; to: string }> = [\n {\n //globs must use / in path to be valid\n from: path.resolve(nxRootDir, extension.sourceRoot.replace(/\\\\/g, \"/\")),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"serverside\", extension.id),\n },\n ];\n\n // Check if extension has dependencyDefinitionFile and add it to patterns if it exists\n if (\"dependencyDefinitionFile\" in extension && extension.dependencyDefinitionFile) {\n patterns.push({\n //globs must use / in path to be valid\n from: path.resolve(nxRootDir, extension.dependencyDefinitionFile.replace(/\\\\/g, \"/\")),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"serverside\", extension.id),\n });\n }\n\n return patterns;\n }),\n {\n //globs must use / in path to be valid\n from: path.join(appDir, \"assets/\").replace(/\\\\/g, \"/\"),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"assets\"),\n },\n ...[...iconPaths, ...widgetIconPaths].map(iconPath => ({\n //globs must use / in path to be valid\n from: path.join(nxRootDir, iconPath.sourceRoot, iconPath.path).replace(/\\\\/g, \"/\"),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, iconPath.extensionId, iconPath.path),\n })),\n ];\n const combinedConfig = async (incomingConfig: rspack.Configuration): Promise<rspack.Configuration> => {\n return {\n ...incomingConfig,\n mode: mode,\n output: {\n publicPath: \"auto\",\n path: path.join(nxRootDir, \"dist\", relativeAppDir),\n },\n target: \"web\",\n entry: {},\n devtool: false,\n devServer: await getIrisAppWebpackDevServer(),\n resolve: {\n extensions: [\".tsx\", \".ts\", \".jsx\", \".js\", \".json\"],\n alias: await getAliasesFromTsConfig({ nxRootDir }),\n },\n optimization:\n mode === \"production\"\n ? incomingConfig.optimization\n : {\n ...incomingConfig.optimization,\n splitChunks: {\n cacheGroups: {\n translations: {\n test: /[\\\\/]locales[\\\\/](.*?)[\\\\/]translation\\.json$/,\n name(module) {\n // Extract the language code from the path\n const match = module.resource?.match(/[\\\\/]locales[\\\\/](.*?)[\\\\/]translation\\.json$/);\n const language = match ? match[1] : \"unknown\";\n return `translations-${language}`;\n },\n chunks: \"all\",\n enforce: true,\n priority: 10,\n },\n },\n },\n },\n module: {\n rules: [\n {\n test: /\\.(jsx?|tsx?)$/,\n exclude: /(vendor|node_modules|dist)/,\n loader: \"builtin:swc-loader\",\n options: {\n jsc: {\n parser: {\n syntax: \"typescript\",\n jsx: true,\n },\n transform: {\n react: {\n runtime: \"automatic\",\n },\n },\n },\n },\n },\n {\n test: /\\.svg$/,\n issuer: /\\.[jt]sx?$/,\n oneOf: [\n {\n resourceQuery: /react/, // if import has ?react in the query so .svg?react\n use: [\n {\n loader: \"@svgr/webpack\",\n options: {\n typescript: true,\n svgo: false,\n titleProp: true,\n ref: true,\n exportType: \"named\",\n namedExport: \"ReactComponent\",\n },\n },\n ],\n },\n {\n type: \"asset\",\n generator: {\n filename: mode === \"production\" ? \"static/media/[hash][ext]\" : \"static/media/[name][ext]\",\n },\n },\n ],\n },\n {\n test: /\\.ico|.png|.jpe?g|.gif|.eot|.ttf|.woff|.woff2$/,\n type: \"asset\",\n },\n {\n test: /\\.(js|mjs)$/,\n include: [\n /node_modules\\/@apollo\\/client/,\n /node_modules\\/framer-motion/,\n /node_modules\\/uuid/,\n /node_modules\\/html-parse-stringify/,\n ],\n type: \"javascript/auto\",\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.(css|s[ac]ss)$/i,\n use: [\n \"style-loader\",\n \"css-loader\",\n {\n loader: \"postcss-loader\",\n options: {\n postcssOptions: {\n plugins: {\n \"postcss-import\": {},\n \"tailwindcss/nesting\": {},\n tailwindcss: {\n config: path.resolve(appDir, \"tailwind.config.js\"),\n },\n autoprefixer: {},\n },\n },\n },\n },\n ],\n },\n ],\n },\n plugins: [\n new rspack.container.ModuleFederationPlugin({\n name: irisAppManifest.moduleFederationName,\n filename: \"remoteEntry.js\",\n library: { type: \"global\", name: irisAppManifest.moduleFederationName },\n remotes: {},\n exposes: await getExposedExtensions({\n nxRootDir,\n manifest: irisAppManifest,\n }),\n shared: await getSharedDependencies({ manifest: irisAppManifest }),\n }),\n\n new TrackunitIrisAppWebpackPlugin({\n nxRootDir: nxRootDir,\n appDir,\n manifest: irisAppManifest,\n }),\n new rspack.DefinePlugin({\n \"process.env.IRIS_APP_SENTRY_DSN\": JSON.stringify(\"\"),\n \"process.env.IRIS_APP_VERSION\": JSON.stringify(\"\"),\n }),\n new rspack.CopyRspackPlugin({\n patterns: copyPatterns,\n }),\n BundleAnalyzerPlugin,\n ].filter(Boolean),\n };\n };\n\n return await combinedConfig({});\n};\n"]}
|